0

我有一个看起来像这样的数据框:

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 检验。我可以在熊猫中做到这一点吗?

4

1 回答 1

2

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)
于 2018-07-24T13:30:05.020 回答