2
我是熊貓數據框新手,希望對以下問題的幫助(類似於this)。我有以下數據:熊貓數據框:按列+子組由另一列
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)
我想在Cat2
執行ttest_ind
每一個類別中Cat1
類別之間進行區分。
我看到它的方式,我可以將數據通過Cat2
每個值分成
cat1_1 = my_data[my_data['Cat1']==1]
cat1_2 = my_data[my_data['Cat1']==2]
然後循環執行t檢驗:
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
?非常感謝!
你可以嘗試在兩個DFS合併 – galaxyan
@galaxyan你可否透露您的意思嗎?謝謝! – Lisa
http://pandas.pydata.org/pandas-docs/stable/merging.html它可能有幫助。 – galaxyan