这似乎是一个重复的问题,但这不是因为我进行了搜索和搜索,而只是获得了不适用于我的情况的复杂解决方案。 我有如下所示的python数据:
id | year | sales
1 | 2010 |200
2 | 2010 |300
3 | 2011 |500
4 | 2011 |600
5 | 2012 |300
6 | 2012 |200
我想找到不同年份的平均值,并绘制这三年的图表。
我尝试了下面的代码,但不起作用:
df.groupby(['year','sales']).count()['sales'].unstack().plot(ax=ax).show()
答案 0 :(得分:2)
我认为需要在sales
之后添加groupby
,如有必要,将fill_value=0
添加到unstack
以便将NaN
替换到0
:< / p>
df.groupby(['year','sales'])['sales'].mean().unstack(fill_value=0).plot()
答案 1 :(得分:0)
尝试一下:
df[["year","sales"]].groupby("year").mean().plot()
您可能不小心在数据集中包含了“ id”。