#python #pandas #seaborn
#python #pandas #seaborn
Вопрос:
Я столкнулся с проблемой, которая, я думаю, в основном связана с кодированием, и я был бы признателен за некоторую помощь, пожалуйста. Мне нужно было бы выполнить визуализацию данных в python framework (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
Комментарии:
1.В
.pivot
columns
должно быть имя столбца dataframe.2. Спасибо ImportanceOfBeingErnest за вашу помощь. Я вроде как устранил проблему, создав дополнительный столбец с дискретными данными на основе ‘num_var1’, а затем использовал этот столбец для сводки. Я не могу поверить, что нет способа сделать это, используя исходный столбец..
3. Что ж, тогда не стесняйтесь в это не верить.
4. ImportanceOfBeingErnest пожалуйста, не поймите меня неправильно, я очень ценю вашу помощь 🙂 Я был просто немного удивлен, что это нельзя было сделать иначе, если не путем создания другого столбца.. Мне еще многому предстоит научиться 🙂