我有一个看起来像这样的数据框:
df1:
value
1.2
2.2
3.3
4.3
3.1
2.1
....
我有另一个看起来相似但具有不同值的数据框:
df2:
value
1.0
1.2
1.3
2.9
3.1
1.9
....
我想制作一个群体图,以便我在同一个图上同时拥有 df1 和 df2,所以我可以直接比较两者。理想情况下,我还希望在两者之间进行某种 t 检验。我可以在熊猫中做到这一点吗?
IIUC,您可以通过将数据帧连接在一起并重塑来做到这一点:
df3 = pd.concat([df1,df2], axis=1, keys=['df1','df2']).stack(0)
df3 = df3.reset_index(level=1)
sns.swarmplot(x='level_1',y='value', data=df3)
和 T 检验:
from scipy.stats import ttest_ind
ttest_ind(df1['value'],df2['value'])
输出:
Ttest_indResult(statistic=1.3828776509907013, pvalue=0.1967994944161096)