Como usar a função where() em pandas (com exemplos)


A função Where() pode ser usada para substituir certos valores em um DataFrame do pandas.

Esta função usa a seguinte sintaxe básica:

 df. where (cond, other=nan)

Para cada valor em um DataFrame do pandas onde cond é True, o valor original é retido.

Para cada valor onde cond é False, o valor original é substituído pelo valor especificado pelo outro argumento.

Os exemplos a seguir mostram como usar essa sintaxe na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#define DataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Exemplo 1: Substitua valores em todo o DataFrame

O código a seguir mostra como usar a função Where() para substituir todos os valores que não atendem a uma determinada condição em um DataFrame inteiro do pandas por um valor NaN.

 #keep values that are greater than 7, but replace all others with NaN
df. where (df>7)

	points assists rebounds
0 25 NaN 11.0
1 12 NaN 8.0
2 15 NaN 10.0
3 14 9.0 NaN
4 19 12.0 NaN
5 23 9.0 NaN
6 25 9.0 9.0
7 29 NaN 12.0

Também podemos usar o outro argumento para substituir os valores por algo diferente de NaN.

 #keep values that are greater than 7, but replace all others with 'low'
df. where (df>7, other=' low ')

	points assists rebounds
0 25 low 11
1 12 low 8
2 15 low 10
3 14 9 low
4 19 12 low
5 23 9 low
6 25 9 9
7 29 low 12

Exemplo 2: Substitua valores em uma coluna específica do DataFrame

O código a seguir mostra como usar a função Where() para substituir todos os valores que não atendem a uma determinada condição em uma coluna específica de um DataFrame.

 #keep values greater than 15 in 'points' column, but replace others with 'low'
df[' points '] = df[' points ']. where (df[' points ']>15, other=' low ')

#view DataFrame
df

	points assists rebounds
0 25 5 11
1 low 7 8
2 low 7 10
3 low 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Você pode encontrar a documentação online completa para a função pandaswhere() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns em pandas:

Como usar a função description() no Pandas
Como usar a função idxmax() no Pandas
Como aplicar uma função a colunas selecionadas no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *