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

10-12 17:56