我在这个结构中有一个大数据框(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
提交
取消