Я столкнулся с проблемой, которая, я думаю, в основном связана с кодированием, и я был бы признателен за помощь, пожалуйста.
Мне нужно будет выполнить визуализацию данных в среде 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