Como excluir uma categoria a partir de uma máscara

0

Pergunta

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

Portanto, esta é a linha que eu estou tentando executar. TuType é uma categoria.

TypeError: não suportado tipo de operando(s) para &: 'int' e 'Categorial'

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

Melhor resposta

1

O & o operador tem uma prioridade maior que o < e != operadores, para que seu código está sendo executado como este:

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

...o que é errado (e confuso). Em vez disso, adicionar parênteses condições unidas por &, como este:

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

Obrigado! Isso foi realmente útil. Agora, o código de obras, e eu tenho um histograma, mas a categoria que eu deseja excluir ainda está lá.
Lautaro Ortega

Você precisará mostrar-nos uma amostra do seu dataframe, para nos ajudar com isso. Desde que na verdade é um pouco diferente do problema, eu recomendo abrir uma nova pergunta por que. Link para ele aqui, e eu vou ver o que posso fazer lá.
richardec
0

Eu não tenho certeza de quais são os seus dtypes são, mas se você tem certeza de TuWgt e TuType são numérico apenas, tentar moldar as condições em parênteses:

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

Caso contrário, & a operação tem maior prioridade, de modo a tentar aplicar & para 30000 e DS1.TuType

2021-11-22 19:05:44

Em outros idiomas

Esta página está em outros idiomas

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