我在這個結構中有一個大數據框(df): year person purchase 2016 Peter 0 2016 Peter 223820 2016 Peter 0 2017 Peter 261740 2017 Peter 339987 2018 Peter 200000 2016 Carol 256400 2017 Carol 33083820 2017 Carol 154711 2018 Carol 3401000 2016 Frank 824043 2017 Frank 300000 2018 Frank 214416259 2018 Frank 4268825 2018 Frank 463080 2016 Rita 0要查看每個人每年花費多少,我會按年和人進行分組,這給了我想要的東西。代碼:df1 = df.groupby(['person','year']).sum().reset_index()如何創建一個循環來為每個人創建包含他/她每年在購買上花費的子圖?所以每個人都有一個子圖,其中 x = 年份和 y = 購買。我已經嘗試了很多不同的東西在這里解釋,但似乎沒有一個工作。
1 回答

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
您可以執行pivot_table或groupby().sum().unstack('person')然后plot:
(df.pivot_table(index='year',
columns='person',
values='purchase',
aggfunc='sum')
.plot(subplots=True)
);
或者
(df.groupby(['person','year'])['purchase']
.sum()
.unstack('person')
.plot(subplots=True)
);
輸出:
添加回答
舉報
0/150
提交
取消