如何使用按日期和类别分组,按年份和类别(有 3 个类别)以及谁的销售额每年应求和。
我尝试过使用 groupby 但没有成功
这是输入:
date category sales
------------------------------------
0 20/2/2014 weekdays 120.96
1 05/03/2015 weekend 120.96
2 19/05/2014 weekdays 75.99
3 09/02/2014 weekend 60.76
4 15/03/2015 weekdays 49.01
5 03/03/2014 weekend 50.3
6 09/05/2014 weekend 203.2
df2 = df.groupby(['date','category'], as_index=False)['sales'].sum()
print (df2)
使用此后,代码会抛出错误。
输出应该是这样的:
date category sales
-------------------------
2014 weekdays 196.95
2014 weekend 314.26
2015 weekdays 49.01
2015 weekend 120.96
最佳答案
使用series.dt.year
在df.groupby()
下:
#df['date'] = pd.to_datetime(df['date']) : if date is object dtype
df.groupby([df.date.dt.year,'category'])['sales'].sum().reset_index()
<小时/>
date category sales
0 2014 weekdays 196.95
1 2014 weekend 314.26
2 2015 weekdays 49.01
3 2015 weekend 120.96
关于python - 如何将日期和 Pandas 中的其他列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56296080/