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