python - 如何将日期和 Pandas 中的其他列分组

标签 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

最佳答案

使用series.dt.yeardf.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/

相关文章:

python - 在 Python Selenium 的 xpath 中使用变量

python - 在 mongodb 中存储对象值

python - 如何在 iPython 中使用 pandas 库读取 .xlsx 文件?

python - 根据 Pandas 中的行号获取多索引值

python - 属性错误 : python: undefined symbol: when accessing C++ function from Python using ctypes

python - 无法通过 ID 从 Google 云端硬盘下载文件

java - Jython 有没有好的 NumPy 克隆?

python - 重建数据框字典的有效方法

python - 更改具有条件的数据框列

python - pandas DataFrame 的散点图以 KeyError : 0 结尾