用分类变量绘制箱线图

时间:2018-12-03 02:15:04

标签: python matplotlib boxplot

我有一个带有多个虚拟变量的数据框,最小示例为:

 dict1 = [{'var0': '0.2','var1': '0','var2': '1'},
 {'var0': '0.4','var1': '1','var2': '1'},
 {'var0': '0.2', 'var1': '1','var2': '0'},
 {'var0': '0.4','var1': '1','var2': '0'},
 {'var0': '0.1','var1': '1','var2': '0'},
 {'var0': '0.6','var1': '0','var2': '0'}]
 df1 = pd.DataFrame(dict1)

我想为x轴上的每个虚拟对象创建一个具有箱线图的箱线图。我在网上发现的常见示例包含一个采用多个值(例如星期几)的单个类别变量:

 sns.catplot(x="day", y="total_bill", kind="box", data=tips);

我想按照以下方式做些事情:

 sns.catplot(x="var1, var2", y="var0", kind="box", data=df1);

有人可以建议这样做吗?我当时正在考虑将虚拟变量合并为1变量,但是问题是,它们同时使用了值1(所以这与星期几的情况不同)。感谢您的帮助。

我想到的另一种选择是使用每个哑元使用多个var0,并将结果保存为2个新变量:var0var1和var0var2。然后用NaN代替0,然后简单地通过这两个方法绘制图形(这不是非常Python化的方法):

 sns.boxplot(data=df1[['var0var1','var0var2']])

0 个答案:

没有答案