我是python的新手,谢谢!!
我需要分组,在列中计算每种营养素的平均值和相应的std。 因此: 鳕鱼Nmean | Nstd |等等...每种营养素
我设法对平均值进行分组并计算。但是我需要另一列,例如,在N%旁边,它是std ...等等...
\XMLReader
答案 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)