如何在python中进行分组,查找均值和绘图

时间:2018-09-10 08:02:26

标签: python python-3.x pandas matplotlib average

这似乎是一个重复的问题,但这不是因为我进行了搜索和搜索,而只是获得了不适用于我的情况的复杂解决方案。 我有如下所示的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()

2 个答案:

答案 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”。