簡體   English   中英

用熊貓作圖:分組和均值

[英]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 lmiDataFrame ,然后按照標題所示計算每組的平均值:

combos.groupby('lmi').pred.mean().plot()

在一行中,我們:

  1. lmi列對組合DataFrame進行分組
  2. 獲取每個lmipred
  3. 計算每個lmi組在pred列上的平均值
  4. 繪制每個lmi組的均值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM