[英]plot the mean of grouped dataframe
我在多索引数据帧上尝试了以下代码:data.header = ['name','pH','salt','id'] for grp,val in data.df.groupby(level = data.header):
print(val['concentration'])
我得到的输出:
name pH salt id
sample 7.5 50 1 0.229230
1 0.230369
实际上,我想拥有汇总平均值:
name pH salt id
sample 7.5 50 1 0.2298
以下代码不起作用print(val['concentration'].apply(lambda x: x.mean()))
或print(val['concentration'].aggregate(np.mean)
我可以:
for grp, val in data.df.groupby(level=data.header[0:-1])['concentration']:
#print(val)
plt.plot(val,'o')
我得到(这与我想要的东西非常接近):
但我仍然想先汇总组并计算平均值。 其次,我只想绘制索引为“ sample”的那些行
数据框: 在此处输入链接描述
有什么建议怎么做?
好的,此解决方案有效:
df = data.df.groupby(level=data.header).aggregate(np.mean).copy()
从这里开始,我可以做所需的绘图等。
for grp, val in df.groupby(level=data.header[0:-1])['concentration']:
#print(val)
plt.plot(val,'o')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.