[英]Plot with pandas: group and mean
我来自“ combos”数据框的数据如下所示:
pr = [1.0,2.0,3.0,4.0,1.0,2.0,3.0,4.0,1.0,2.0,3.0,4.0,.....1.0,2.0,3.0,4.0]
lmi = [200, 200, 200, 250, 250,.....780, 780, 780, 800, 800, 800]
pred = [0.16, 0.18, 0.25, 0.43, 0.54......., 0.20, 0.34, 0.45, 0.66]
我绘制这样的结果:
fig,ax = plt.subplots()
for pr in [1.0,2.0,3.0,4.0]:
ax.plot(combos[combos.pr==pr].lmi, combos[combos.pr==pr].pred, label=pr)
ax.set_xlabel('lmi')
ax.set_ylabel('pred')
ax.legend(loc='best')
我得到这个情节:
保持对(lmi,pr)对完整时,如何绘制每个“ lmi”数据点的“ pred”平均值?
在更新问题时,现在很清楚,您要计算每对(pr, lmi)
的均值。 这可以通过对这些列进行分组,然后简单地调用mean()
。 使用reset_index()
,然后将DataFrame格式恢复为以前的形式。
$ combos.groupby(['lmi', 'pr']).mean().reset_index()
lmi pr pred
0 200 1.0 0.16
1 200 2.0 0.18
2 200 3.0 0.25
3 250 1.0 0.54
4 250 4.0 0.43
5 780 2.0 0.20
6 780 3.0 0.34
7 780 4.0 0.45
8 800 1.0 0.66
在这个新的DataFrame中, pred
确实包含了方法,您可以使用以前使用过的相同绘制过程。
您可以先DataFrame
lmi
对DataFrame
,然后按照标题所示计算每组的平均值:
combos.groupby('lmi').pred.mean().plot()
在一行中,我们:
lmi
列对组合DataFrame
进行分组 lmi
的pred
列 lmi
组在pred列上的平均值 lmi
组的均值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.