python-3.x - Groupby、means 和 std
问题描述
我是python的新手......提前谢谢你!
我需要分组,在列中计算每种营养素的平均值和相应的标准。因此:鳕鱼 | 平均值 | 国家标准 | 等等...对于每种营养素
我设法分组并计算平均值。但我需要另一列,例如,在 N% 旁边,它是 std ......等等......
report = my_data.groupby(["cod"], as_index = False)[['N%', 'P%','K%', 'Ca%', 'Mg%', 'S%',
'Fe mg/kg', 'Mn mg/kg', 'Zn mg/kg', 'Cu mg/kg',
'B mg/kg', 'Na mg/kg']].mean()
解决方案
Write a dict
comprehension with each of the column as key and ['mean', 'std']
as value first -
groups_agg = { i:['mean', 'std'] for i in ['N%', 'P%','K%', 'Ca%', 'Mg%', 'S%', 'Fe mg/kg', 'Mn mg/kg', 'Zn mg/kg', 'Cu mg/kg', 'B mg/kg', 'Na mg/kg'] }
It will look like this -
{'B mg/kg': ['mean', 'std'],
'Ca%': ['mean', 'std'],
'Cu mg/kg': ['mean', 'std'],
'Fe mg/kg': ['mean', 'std'],
'K%': ['mean', 'std'],
'Mg%': ['mean', 'std'],
'Mn mg/kg': ['mean', 'std'],
'N%': ['mean', 'std'],
'Na mg/kg': ['mean', 'std'],
'P%': ['mean', 'std'],
'S%': ['mean', 'std'],
'Zn mg/kg': ['mean', 'std']}
Then pass on the object to pd.agg()
my_data.groupby(["cod"], as_index = False).agg(groups_agg)
推荐阅读
- javascript - firewatch 视差效果与上面的另一个 div 内容
- django - 如何在我的 Django 模板上有多个 forloop?
- java - 'android.content.res.Resources android.content.Context.getResources()' 在空对象引用上。将字符串数组转换为语音
- c# - C# 8 new switch 可以替换包含多个的代码块吗?: ? : 表达式?
- python - 减去数据框中列的一部分
- pandas - 验证决策树图
- csv - 如何保持 org.json.JSONObject 的顺序?
- xamarin - 我可以使用 aab 来减少带有 Mac OS / XF 的 Android 包的大小吗?
- python-3.x - Tensorflow 显然安装正常,但检查失败
- android - 我从 AVD 手动卸载了我的应用程序,我必须手动重新安装它吗?