Groupby,平均值和标准

时间:2018-11-13 11:16:03

标签: python-3.x pandas jupyter-notebook

我是python的新手,谢谢!!

我需要分组,在列中计算每种营养素的平均值和相应的std。 因此: 鳕鱼Nmean | Nstd |等等...每种营养素

我设法对平均值进行分组并计算。但是我需要另一列,例如,在N%旁边,它是std ...等等...

\XMLReader

1 个答案:

答案 0 :(得分:0)

写一个dict理解,以每一列为键,['mean', 'std']首先为值-

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'] }

它看起来像这样-

{'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']}

然后将对象传递到pd.agg()

my_data.groupby(["cod"], as_index = False).agg(groups_agg)
相关问题