簡體   English   中英

繪制每個 x 值的 y 值的平均值

[英]Plot average of y values for every x value

我有一個未排序的 df,大約有 750,000 行。 現在我想通過mrwSmpVWi對 df 進行mrwSmpVWi並獲得我的mrwSmpP的平均值。 例如:對於mrwSmpVWi = 3我有 2,000 個mrwSmpP值,我想獲得 2,000 個值的平均值。 如果每個 x 值都有一個 y 值,我想通過另一組繪制它,即列Seriennummer

for number in df.groupby('mrwSmpVWi'):
    df['m'] = df['mrwSmpP'].mean()

fig, ax = plt.subplots(figsize=(30,15))

for name, group in df.groupby('Seriennummer'):
    group.plot(x="mrwSmpVWi", y="m", ax=ax, marker='o', linestyle='', ms=12, label =name)
    

plt.show()

如果我這樣做。 我只會得到我的平均值的直線。

在此處輸入圖片說明

這是我的 df 的一部分:

在此處輸入圖片說明

編輯:

我是這樣改的:

#for number in df.groupby('mrwSmpVWi'):
df['m'] = df.groupby('mrwSmpVWi')['mrwSmpP'].mean()

如果我使用或不使用 for 循環,它都不會改變。 我會得到這個圖: 在此處輸入圖片說明

您似乎在第一個循環的每次迭代中覆蓋了均值列。 此外,要保存數據幀的每個值的平均值,您需要使用合並。 嘗試:

df = df.merge(df.groupby('mrwSmpVWi')["mrwSmpP"].mean().rename("m").reset_index(), on="mrwSmpVWi", how="left")

暫無
暫無

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

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