Joh*_*_10 5 python matplotlib dataframe pandas
我有一个包含 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
...
...
Run Code Online (Sandbox Code Playgroud)
您可以将函数字典传递给 agroupby以使用以下命令执行统计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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3477 次 |
| 最近记录: |