[英]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.