如何在熊猫中对日期和其他列进行分组

时间:2019-05-24 16:02:21

标签: python pandas

如何使用按日期和类别分组,以及按年份和类别使用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

1 个答案:

答案 0 :(得分:2)

df.groupby()下使用series.dt.year

#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