我有一个带有多个虚拟变量的数据框,最小示例为:
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']])