Как объединить IQR, перекос, безумный, курт и т. Д. В описание Pandas DataFrame, сгруппированное по столбцу? - PullRequest
0 голосов
/ 26 сентября 2019

Я нашел в этом ответе , как агрегировать больше статистических данных в мою функцию описания фрейма данных, но мне не удалось заставить ее работать, когда мой фрейм данных сгруппирован по столбцу.

Например.Это прекрасно работает:

df_var_desc_gr = df_var_desc.groupby(['ethnicity_source_value']).count().reset_index()
df_var_desc_gr.head()
stats = df_var_desc_gr.describe()
stats.loc['IQR'] = stats.loc['75%'] - stats.loc['25%']
stats = stats.append(df_var_desc_gr.reindex(stats.columns, axis=1).agg(['skew', 'mad', 'kurt']))
display(stats.T.reset_index())

Вывод:

    index   count   mean    std min 25% 50% 75% max IQR skew    mad kurt
0   concept_name    24.0    257.0   312.998819  10.0    67.5    122.5   366.5   1230.0  299.0   2.021287    227.0   3.911094

Но как я могу сделать то же самое (приложение IRQ, skew, mad, kurt и т. Д.) в сгруппированном кадре данных, как показано ниже:

df_var_desc_gr.groupby(['ethnicity_source_value'])['concept_name'].describe().reset_index()

Вывод:

    ethnicity_source_value  count   mean    std min 25% 50% 75% max
0   african 1.0 17.0    NaN 17.0    17.0    17.0    17.0    17.0
1   american    1.0 153.0   NaN 153.0   153.0   153.0   153.0   153.0
2   american_indian 1.0 68.0    NaN 68.0    68.0    68.0    68.0    68.0
3   arab    1.0 10.0    NaN 10.0    10.0    10.0    10.0    10.0
4   asian_indian    1.0 36.0    NaN 36.0    36.0    36.0    36.0    36.0
5   central_american    1.0 202.0   NaN 202.0   202.0   202.0   202.0   202.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...