Получение TypeError при попытке увидеть кросс-таблицу в Seaborn - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь создать базовую гистограмму из кросс-таблицы.

Я написал:

# Crosstab: Impact YN x Engagement
impact_action_table_eng = 
pd.crosstab(df.Engagement,df.impact_action_yn_new)
print(impact_action_table_eng)

impact_action_yn_new    0    1
Engagement                    
0                     566  310
0                       1    1
1                     676  410
2                       0    1
2a                    508  404
2b                    587  303
3                     683  671
4                     172  357
5                      31  237

А потом хочу это визуализировать.

# Crosstab: Impact YN x Engagement - Viz

stacked_imp_eng = impact_action_table_eng.stack().reset_index().rename(columns={0:'value'})
sns.barplot(x=stacked_imp_eng.Engagement, y=stacked_imp_eng.impact_action_yn_new, hue=stacked_imp_eng.impact_action_yn_new)

Я получаю TypeError: неподдерживаемые типы операндов для /: str и int.Я думаю, это означает, что тип данных должен быть изменен, но я не уверен, какой именно ... или если это правильное изменение (я пытался изменить несколько типов данных и все еще получаю ошибку типа).

Impact_action_yn_new - это int64, а eng - это str.Затем я конвертировал effect_action_yn_new в str, и это не решило проблему.

Что мне здесь делать?Я гуглил и застрял.

Спасибо!

1 Ответ

0 голосов
/ 29 сентября 2018

В обоих столбцах y и hue установлен один и тот же столбец, impact_action_yn_new.Это может быть причиной ошибки, хотя я не могу воспроизвести ее, используя Seaborn 0.9.0.В любом случае, иметь y равным hue, вероятно, не так уж и полезно!

Использование y='value' и hue='impact_action_yn_new' дает следующее:

sns.barplot(x=stacked_imp_eng.Engagement, 
            y=stacked_imp_eng.value,
            hue=stacked_imp_eng.impact_action_yn_new)

barplot result

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