Я хочу вычислить и протестировать среднее значение двух разных групп из нескольких столбцов в пандах, я могу обработать вычисляемую часть, но пока нет хорошего решения для тестовой части. Ниже приведен образец игрушки и результат, который я хочу получить.
df = pd.DataFrame(np.random.randint(0,100,size=(100, 2)), columns=['col_1','col_2'])
df['group'] = ['A']*50 + ['B']*50
df.groupby('group').agg({"col_1":"mean","col_2":"mean"})
col_1 col_2
group
A 52.26 56.58
B 53.04 49.18
Что я хочу получить:
col_1 t_col_1 col_2 t_col_2
group
A 52.26 4.3*** 56.58 0.8
B 53.04 4.3*** 49.18 0.8
В котором t_col_1
является t статистикой разницы средних значений col_1
в группе A и группе B, то есть t.test(df.loc[df['group'].isin(['B'])][col_1], df.loc[df['group'].isin(['A'])][col_1])
. Звезды не нужны, но было бы замечательно, если бы они могли быть там.
Любые предложения о том, как это сделать?