Pandas DataFrame.where(): Verificar condições em DataFrame
A função DataFrame.where()
do Python Pandas foi criada para facilitar a manipulação de dados condicionais em DataFrames. Ela permite que programadores substituam ou mascarem os valores em um DataFrame do Pandas com base em uma condição.
Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!
- Domínio
- SSL Wildcard
- Suporte 24 horas
Sintaxe da função Pandas DataFrame.where()
A função where()
aceita até cinco parâmetros e tem a seguinte sintaxe:
Quando a função é aplicada a um DataFrame, apenas os valores que atendem a uma condição específica (cond
) permanecem iguais. Qualquer outro valor é substituído de acordo com a especificação do parâmetro other
.
Parâmetros da função Pandas DataFrame.where()
A função Pandas DataFrame.where()
aceita a inclusão de diferentes parâmetros que facilitam a administração e modificação flexível dos dados:
Parâmetro | Descrição | Valor padrão |
---|---|---|
cond
|
A condição que deve ser atendida para que os valores do DataFrame permaneçam inalterados | |
other
|
O valor que substitui aqueles que não atendem à condição | |
inplace
|
Quando definido como verdadeiro (True ), a operação modifica o DataFrame diretamente
|
False
|
axis
|
Especifica a quais eixos a condição se aplica (axis=0 para linhas, axis=1 para colunas)
|
None
|
level
|
Define o nível de um índice múltiplo ao qual a condição deve ser aplicada | None
|
Como usar a função Pandas DataFrame.where()
A função where()
pode ser útil em diversas situações que requerem manipulação de dados condicional. Isso inclui a limpeza de informações ou a criação de novas colunas baseadas em condições.
Substituir valores com base em condições
Imagine que você tenha um DataFrame com os resultados de vendas da sua empresa e deseje exibir apenas os números positivos, enquanto os negativos deverão ser substituídos por 0
. Para fazer isso, use a função Pandas DataFrame.where()
. Primeiro, é preciso criar um DataFrame:
O código acima produzirá o seguinte DataFrame:
Região Vendas_1Q Vendas_2Q
0 Norte 15000 20000
1 Sul -5000 25000
2 Leste 3000 -7000
3 Oeste -1000 5000
Com a função Pandas DataFrame.where()
, você pode substituir todos os valores negativos por 0
. Certifique-se de que apenas colunas com valores numéricos serão incluídas, do contrário, o procedimento não funcionará.
O DataFrame resultante, df_positivo
, exibirá apenas os resultados de vendas positivos e substituirá os negativos por 0
:
Região Vendas_1Q Vendas_2Q
0 Norte 15000 20000
1 Sul 0 25000
2 Leste 3000 0
3 Oeste 0 5000
Mascarar valores usando condições
A função Pandas DataFrame.where()
também pode ser usada para mascarar valores. Isso significa que apenas as partes específicas de um DataFrame serão exibidas. No exemplo a seguir, queremos mostrar apenas os valores acima de um patamar (neste caso, 10000
). Lembre-se de que, nesse caso, é preciso avaliar apenas colunas com dados numéricos:
O DataFrame produzido, df_mascarado
, exibirá apenas os valores superiores a 10000
. Todos os demais valores serão substituídos por NaN
:
Região Vendas_1Q Vendas_2Q
0 Norte 15000 20000
1 Sul NaN 25000
2 Leste NaN NaN
3 Oeste NaN NaN