微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何创建摘要统计数据框?

我有一个带有ID的数据框和与每个ID相关的大量测试结果.我想要做的是创建第二个数据框,它总结了特定测试的平均分数和标准偏差,然后我可以在图表上绘制.

下面是我到目前为止的代码.它返回错误“ValueError:长度不匹配:预期轴有1个元素,新值有2个元素”.

有人可以帮忙吗?

    df2 = df1.groupby(['id'], as_index=True).agg({'variable_1':['mean'], 'variable_1':['std']})
    df2.columns=['var_mean','var_std']
    df2.plot(x='var_mean', y='var_std', kind='scatter', figsize=(15,10), title='Standard Deviation of Std vs Mean')


example data:

ID    Variable_1
1234  32
1234  23
2345  54
2345  65
2345  76
3456  78

what I'd like:

ID    Mean  SD
1234  23.5  2.2
2345  45    9
...
...

解决方法:

您可以将函数的dict传递给groupby以使用agg执行统计

In [154]:

df.groupby('ID')['Variable_1'].agg({'Mean':np.mean, 'SD':np.std})
Out[154]:
      Mean         SD
ID                   
1234  27.5   6.363961
2345  65.0  11.000000
3456  78.0        NaN

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐