繁体   English   中英

绘制分组数据框的平均值

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM