基于月销售额实现python组

问题描述

我有下表:

  Date      sales     product
(yyyy-mm)
2020-4.    78       SampleA
2020-5.    76       SampleB
2020-3.    72.      SampleA
2020-8.    99.      SampleC
2020-4.    32.      SampleA

我想要一个基于使用python的每个产品的新属性的按月分组的表格

  Date(group by month).    SampleA. SampleB. SampleC
   2020-3                    72.      0.       0.
   2020-4                    110      0.       0
   2020-5                     0.      76       0

等等。

解决方法

尝试使用 .pivot_table() 作为聚合函数的 "sum"

x = (
    df.pivot_table(
        index="Date",columns="product",values="sales",aggfunc="sum",fill_value=0,)
    .reset_index()
    .rename_axis("",axis=1)
)
print(x)

打印:

     Date  SampleA  SampleB  SampleC
0  2020-3       72        0        0
1  2020-4      110        0        0
2  2020-5        0       76        0
3  2020-8        0        0       99
,

使用 df(pd.grouper(key='Date',freq="M"))[“sales”].sum()