[英]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()
您似乎在第一个循环的每次迭代中覆盖了均值列。 此外,要保存数据帧的每个值的平均值,您需要使用合并。 尝试:
df = df.merge(df.groupby('mrwSmpVWi')["mrwSmpP"].mean().rename("m").reset_index(), on="mrwSmpVWi", how="left")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.