问题描述
我有下表:
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()