средняя таблица сравнения по группам - PullRequest
0 голосов
/ 07 июня 2018

Я ищу простой способ создания таблицы, сравнивая средства различных переменных (например, для гендерных групп):

Например:

import pandas as pd
import numpy as np

df = pd.DataFrame()
df['obs'] = range(1,1001)
df['gender'] = np.random.choice([1,2],1000)
df["salary"] = np.random.normal(15000, 5000, 1000)
df["Y_education"] = np.random.normal(8, 3, 1000).astype(int)

, где таблица должна выглядеть что-тонапример (значения не рассчитываются, а просто заполняются для иллюстрации):

Variable                 Male(1)   Female(2)
Salary_mean              15820     16852
Salary_sd                 3620      2450
Years_of_Education_mean    9         8
Years_of_Education_sd      1.5       2

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

1 Ответ

0 голосов
/ 07 июня 2018

Использование:

df_out = df.groupby('gender')[['salary', 'Y_education']].agg(['mean', 'std'])
df_out.columns = df_out.columns.map('_'.join)
print(df_out.T.rename(columns={1:'Male(1)', 2:'Female(2)'}))

Вывод:

gender                 Male(1)     Female(2)
salary_mean       15187.741741  14919.403236
salary_std         4897.463288   5161.409774
Y_education_mean      7.607350      7.548654
Y_education_std       2.877772      3.102538
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...