Como escrever uma declaração de caso em pandas (com exemplo)
Uma instrução case é um tipo de instrução que percorre as condições e retorna um valor quando a primeira condição é atendida.
A maneira mais simples de implementar uma instrução case em um DataFrame do Pandas é usar a função NumPywhere() , que usa a seguinte sintaxe básica:
df[' new_column '] = np. where (df[' col2 ']<9, 'value1', n.p. where (df[' col2 ']<12, 'value2', n.p. where (df[' col2 ']<15, 'value3', 'value4')))
Esta função específica analisa o valor na coluna chamada col2 e retorna:
- “ valor1 ” se o valor em col2 for menor que 9
- “ valor2 ” se o valor em col2 for menor que 12
- “ valor3 ” se o valor em col2 for menor que 15
- “ valor4 ” se nenhuma das condições anteriores for verdadeira
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: declaração de caso em Pandas
Suponha que temos o seguinte DataFrame do pandas:
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' player ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ' points ': [6, 8, 9, 9, 12, 14, 15, 17, 19, 22]}) #view DataFrame df player points 0 1 6 1 2 8 2 3 9 3 4 9 4 5 12 5 6 14 6 7 15 7 8 17 8 9 19 9 10 22
Podemos usar a seguinte sintaxe para escrever uma instrução case que cria uma nova coluna chamada classe cujos valores são determinados pelos valores na coluna de pontos :
#add 'class' column using case-statement logic df[' class '] = np. where (df[' points ']<9, 'Bad', n.p. where (df[' points ']<12, 'OK', n.p. where (df[' points ']<15, 'Good', 'Great'))) #view updated DataFrame df player points class 0 1 6 Bad 1 2 8 Bad 2 3 9 OK 3 4 9 OK 4 5 12 Good 5 6 14 Good 6 7 15 Great 7 8 17 Great 8 9 19 Great 9 10 22 Great
A instrução case analisou o valor na coluna de pontos e retornou:
- “ Ruim ” se o valor na coluna de pontos for menor que 9
- “ OK ” se o valor na coluna de pontos for menor que 12
- “ Bom ” se o valor na coluna de pontos for inferior a 15
- “ Ótimo ” se nenhuma das condições anteriores for verdadeira
Nota : Você pode encontrar a documentação completa da função NumPywhere() aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no Pandas:
Como criar uma nova coluna baseada em uma condição no Pandas
Como usar a função NumPy Where() com múltiplas condições