Как исключить категорию из маски

0

Вопрос

sns.histplot(data=DS1[(DS1.TuWgt<30000) & (DS1.TuType!=1001)], x="TuWgt",hue="TuType",multiple="stack")

Так что это та линия, которую я пытаюсь провести. TuType-это категория.

Ошибка типа: неподдерживаемые типы операндов для &: "int" и "Категориальный"

mask pandas python
2021-11-22 18:53:01
2

Лучший ответ

1

То & оператор имеет более высокий приоритет, чем < и != операторы, поэтому ваш код выполняется следующим образом:

sns.histplot(data=DS1[DS1.TuWgt < (30000 & DS1.TuType) != 1001], x="TuWgt",hue="TuType",multiple="stack")

...что неправильно (и сбивает с толку). Вместо этого добавьте круглые скобки вокруг условий, соединенных &, вот так:

sns.histplot(data=DS1[(DS1.TuWgt<30000) & (DS1.TuType!=1001)], x="TuWgt",hue="TuType",multiple="stack")
2021-11-22 19:00:37

Спасибо! Это было действительно полезно. Теперь код работает, и я получаю гистограмму, но категория, которую я хочу исключить, все еще существует.
Lautaro Ortega

Вам нужно будет показать нам образец вашего фрейма данных, чтобы мы могли помочь в этом. Поскольку на самом деле это немного другая проблема, я рекомендую открыть для этого новый вопрос. Свяжите это здесь, и я посмотрю, что я могу там сделать.
richardec
0

Я не уверен, каковы ваши типы dtypes, но если вы уверены, что TuWgt и TuType являются только числовыми, попробуйте заключить условия в круглые скобки:

sns.histplot(data=DS1[(DS1.TuWgt<30000) & (DS1.TuType!=1001)], x="TuWgt",hue="TuType",multiple="stack")

Иначе & операция имеет более высокий приоритет, поэтому вы пытаетесь применить & Для 30000 и DS1.TuType

2021-11-22 19:05:44

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................