Тепловая карта с 2 числовыми переменными и 1 категориальной переменной - PullRequest
0 голосов
/ 28 марта 2019

Я столкнулся с проблемой, которая, я думаю, в основном связана с кодированием, и я был бы признателен за помощь, пожалуйста. Мне нужно будет выполнить визуализацию данных в среде Python (Jupyter Notebook) с 3 переменными: 2 из них числовые (num_var1 и num_var2) и одна категориальная (cat_var). Я хотел бы использовать num_var1 в качестве категориального для биннинга.

Я думал, что смогу использовать тепловую карту для визуализации этих 3 переменных:

  • num_var1 в столбцах, сгруппировав его
  • cat_var в строках
  • num_var2 как цвет

Я думал, что для бинарной числовой переменной я мог бы использовать функцию pd.cut(), поэтому я написал следующий код:

cat_means = df.groupby([pd.cut(df.num_var1, 10), 'cat_var']).mean()['num_var2'] 
cat_means = cat_means.reset_index(name = 'num_var2_avg') 
cat_means = cat_means.pivot(index = 'cat_var', columns = pd.cut(df.num_var1, 10), values = 'num_var2_avg') 
seaborn.heatmap(cat_means, annot = True, fmt = '.3f', cbar_kws = {'label' : 'mean(num_var2)'});

Вместо ожидаемой тепловой карты на выходе появляется следующая ошибка:

KeyError: "[Interval(-0.01, 1.001, closed='right')\n Interval(-0.01, 1.001, closed='right')\n Interval(-0.01, 1.001, closed='right') ...\n Interval(-0.01, 1.001, closed='right')\n Interval(-0.01, 1.001, closed='right')\n Interval(-0.01, 1.001, closed='right')] not in index"

Может ли кто-нибудь помочь мне в этом, пожалуйста?

Большое спасибо,

Federico

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...