3 回答

TA贡献1830条经验 获得超9个赞
要获得每月的费用,最好使用to_period
. 您可以通过To
groupby,然后取消堆叠:
df.groupby(['To',df.index.to_period('M')])['Quantity'].sum().unstack()

TA贡献1835条经验 获得超7个赞
您可以使用原始代码的一部分并将其与函数混合pd.pivot_table。
例如,如果您的原始数据框是df:
df.index = pd.to_datetime(df["To Date"])
pivot = df.pivot_table(values="Quantity",
columns="To",
index=[df.index.month, df.index.year],
aggfunc='sum')
输出如下
To France Ireland Jamaica
To Date To Date
2 2021 NaN 65.0 NaN
10 2020 4.0 5.0 NaN
11 2020 6.0 NaN NaN
12 2020 5.0 NaN 6.0
希望它有用!

TA贡献1895条经验 获得超3个赞
使用 pd.crosstab:
pd.crosstab(df['To'], df['To Date'], df['Quantity'], aggfunc='sum')
添加回答
举报