Построение графиков с категориальными переменными - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть фрейм данных с несколькими фиктивными переменными, минимальный пример будет:

 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 для каждого манекена и сохранить результаты в виде двух новых переменных: var0var1 и var0var2.Затем замените 0 на NaN, а затем просто нанесите на график оба, выполнив это (если не очень питонический подход):

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