按分销商名称的月份对 Pandas DataFrame 进行分组

Grouping a Pandas DataFrame by Months for Distributor Names

我有一个如下所示的数据框: [1]: https://i.stack.imgur.com/KnHba.png

本质上,有一个分销商名称列、一个销售列和一个 MM/DD/YYYY 日期列。

对于每个分销商,我想要按月计算的销售额总和。 我尝试了什么: df = df.groupby(df['Distributor Name'],df.Date.dt.month)['Sales'].sum()

这会引发错误。 “不可散列类型:系列”。这在我删除经销商名称时有效,但我不只是想要整体月销售额。我想要分销商的月销售额。

提前致谢!! 乔尔

按多列分组的正确方法是将它们作为第一个参数放入列表中:

result = df.groupby(['Distributor Name', df.date.dt.month])['Sales'].sum()

这将创建一个多索引 pandas 系列,其中 Distributor NameDate 作为索引。如果您想创建一个包含三列(Distributor NameDateSales)的数据框,您可以重置此 pandas 系列的索引。

result = result.reset_index()