熊猫按年份和月份分组

时间:2020-10-06 08:20:13

标签: python dataframe

我具有以下格式的数据

    LOCATION    SALESDATE   Saleprice
0   Store A 2018-04-15  524.4
1   Store B 2018-04-15  524.4
2   Store B 2018-04-15  524.4
3   Store C 2018-04-15  296.4
4   Store C 2018-04-15  296.4

我想要一个以下格式的数据框:

          04/2018 05/2018 06/2018
Store A   524.4  524.4    524.4
Store B   123.2  234.4    524.4
Store C   524.4  524.4    524.4 

其中每一行都是一家商店,每一列代表相应月份/年份的总销售额。

我尝试过:

df.groupby([df.LOCATION, df.SALESDATE.dt.year.rename('year'), df.SALESDATE.dt.month.rename('month')]).sum()

几乎是我想要的,但是第二和第三索引应该是列。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用pd.pivot_table()

我已经稍微修改了您的代码以拆分月份和年份,因此您可能需要进行修改以获取正确的格式。见下文:

df["month"] = df.SALESDATE.dt.month
df["year"] = df.SALESDATE.dt.year

new_df = pd.pivot_table(df, values="Saleprice", index="LOCATION", columns=["month", "year"])