Групповые, значит и стандарт - PullRequest
0 голосов
/ 13 ноября 2018

Я новичок в питоне ... заранее спасибо!

Мне нужно сгруппировать, рассчитать в столбце среднее значение для каждого питательного вещества и соответствующий стандарт.Как так: треска |Nmean |Nstd |и т. д ... для каждого питательного вещества

мне удалось сгруппировать и рассчитать среднее значение.Но мне нужен другой столбец, например, рядом с N%, с его стандартным значением ... и так далее ...

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()

1 Ответ

0 голосов
/ 13 ноября 2018

Напишите 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...