Python 基于条件绘制数据帧

Python 基于条件绘制数据帧,python,plot,group-by,Python,Plot,Group By,我在下面有一个数据框df:显示了按车辆类型划分的每类人每天完成的公里数 People Car dmy value(km) A Renault 14-05-2016 500 B Peugeot 14-05-2016 1000 A Citroen 14-05-2016 400 A Renault 15-05-2016 24 B

我在下面有一个数据框df:显示了按车辆类型划分的每类人每天完成的公里数

People      Car         dmy         value(km)
A         Renault    14-05-2016     500
B         Peugeot    14-05-2016     1000
A         Citroen    14-05-2016     400
A         Renault    15-05-2016     24
B         Peugeot    15-05-2016     247
A         Renault    15-05-2016     369
A         Citroen    23-05-2016     692
A         Citroen    28-05-2016     284
我在一年内有2万条生产线

我想按dmy列分组,以获得每天“值(km)”列的平均值

这就是我所做的:

我首先创建了一个新的数据框,给出了两个条件:我的图表将只显示一种类型的汽车和一类人每天公里数的平均值

 yy = (df["Car"] == 'Renault') & (df["People"] == 'A')
然后我创建一个数据帧来执行group.by

zz = yy.groupby('dmy')['value(km)'].mean()
并将dmy列设置为索引

zz=zz.set_索引('dmy')

然后我绘制了这个新的zz数据帧:

plt.plot(zz.index, zz["value"].values, linestyle='-', color='b', label="Renault")
plt.gcf().autofmt_xdate()
plt.legend()
plt.show()

不过,没有出现任何情节。谢谢你的帮助

groupby
返回
DataFrameGroupBy
而不是
Dataframe

我首先选择必要的列,然后调用
aggregate
,最后调用
plot

import numpy as np
zz = yy[['value(km)', 'dmy']].groupby('dmy').aggregate(np.mean)
zz.plot()