Comment exclure une catégorie à partir d'un masque

0

La question

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

Donc, c'est la ligne que j'essaie de l'exécuter. TuType est une catégorie.

TypeError: unsupported operand type(s) pour &: 'int' et 'Catégorique'

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

La meilleure réponse

1

L' & l'opérateur a une priorité plus élevée que la < et != les opérateurs, de sorte que votre code est exécuté comme ceci:

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

...ce qui est faux (et la confusion). Au lieu de cela, ajouter des parenthèses autour des conditions rejoint par &, comme ceci:

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

Merci!!!! C'était vraiment utile. Maintenant, le code fonctionne, et je reçois un histogramme, mais la catégorie que je veux exclure est toujours là.
Lautaro Ortega

Vous aurez besoin de nous montrer un échantillon de votre dataframe pour que nous puissions vous aider. Car c'est effectivement un peu différent problème, je recommande l'ouverture d'une nouvelle question pour que. Lien ici, et je vais voir ce que je peux y faire.
richardec
0

Je ne suis pas sûr de ce que sont vos dtypes sont, mais si vous êtes sûr TuWgt et TuType sont numériques uniquement, essayez d'envelopper les conditions dans les parenthèses:

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

Autrement & l'opération a une priorité plus élevée, de sorte que vous essayer de les appliquer & pour 30000 et DS1.TuType

2021-11-22 19:05:44

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................