Я новичок в dataframes pandas и буду признателен за помощь в решении следующей проблемы (аналогично this). У меня есть следующие данные:pandas dataframe: подмножество по столбцу + группа по другому столбцу
data = {'Cat1': [2,1,2,1,2,1,2,1,1,1,2],
'Cat2': [0,0,0,0,0,0,1,1,1,1,1],
'values': [1,2,3,1,2,3,1,2,3,5,1]}
my_data = DataFrame(data)
Я хотел бы выполнить ttest_ind
для каждой категории в Cat2
различать между категориями в Cat1
.
Как я вижу это, я мог бы разделить данные в
cat1_1 = my_data[my_data['Cat1']==1]
cat1_2 = my_data[my_data['Cat1']==2]
А затем петли через каждое значение в Cat2
для выполнения Стьюдента:
for cat2 in [0,1]:
subset_1 = cat1_1[cat1_1['Cat2']==cat2]
subset_2 = cat1_2[cat1_2['Cat2']==cat2]
t, p = ttest_ind(subset_1['values'], subset_2['values'])
Но это, кажется, действительно запутанным , Может ли быть более простое решение, возможно, с groupby
? Большое спасибо!
вы можете попробовать объединить на два ДФСЕ – galaxyan
@galaxyan Не могли бы вы разработать то, что вы имеете в виду под этим? Благодаря! – Lisa
http://pandas.pydata.org/pandas-docs/stable/merging.html это может помочь. – galaxyan