在箱线图中组合两个数据框的信息

时间:2020-07-25 10:56:44

标签: python pandas seaborn

我有两个通过转换numpy数组而获得的数据帧df1和df2,每个数据帧具有以下数据:

 $('form#submit_form').on('submit', function(event) {
$('.validatethis').each(function() {
    $(this).rules("add", 
        {
            required: true,
            messages: {
                required: "This field is required",
            }
        });
});
});
$("#submit_form").validate();

所以当我应用以下指令时:

sns.boxplot(data = df1)

我得到如下图:

enter image description here

我遇到的问题是,我想将df1和df2的箱形图的结果(一个结果紧挨另一个)相结合,以得到这样的结果:

enter image description here

我尝试过这样的事情:

      data1    data2  ...  datan      indicator
0  2.482738 -0.484757  ... 1.344557      a
1  4.566902 -1.339193  ... -1.44057      a
2  0.741416  0.663258  ... -0.44973      b

但是我得到了错误:

    cdf=pd.concat([df1,df2])
    mdf=pd.melt(cdf)
    sns.boxplot(data=mdf,hue="indicator")

如何获得加入的箱线图?顺便说一下,在y轴上,我只有一个范围,即最大值和最小值,可以在其中找到我的箱线图结果。

1 个答案:

答案 0 :(得分:1)

使用下面的代码,这将起作用:

df = pd.concat([df1,df2])
df_m = pd.melt(df, id_vars=['indicator'], var_name='data', value_name='values')
#import seaborn as sns
sns.boxplot(x = 'data', y = 'values', data = df_m, hue = 'indicator')