Como comparar duas colunas em pandas: com exemplos
Freqüentemente, você pode querer comparar duas colunas em um DataFrame do Pandas e gravar os resultados da comparação em uma terceira coluna.
Você pode fazer isso facilmente usando a seguinte sintaxe:
conditions=[(condition1),(condition2)] choices=[" choice1 "," choice2 "] df[" new_column_name "]=np. select (conditions, choices, default)
Aqui está o que este código faz:
- condições são as condições a serem verificadas entre as duas colunas
- escolhas são os resultados a serem retornados com base nas condições
- np.select é usado para retornar os resultados na nova coluna
O exemplo a seguir mostra como usar esse código na prática.
Exemplo: compare duas colunas no Pandas
Suponha que temos o seguinte DataFrame que mostra o número de gols marcados por dois times de futebol em cinco partidas diferentes:
import numpy as np import pandas as pd #createDataFrame df = pd. DataFrame ({' A_points ': [1, 3, 3, 3, 5], ' B_points ': [4, 5, 2, 3, 2]}) #view DataFrame df A_points B_points 0 1 4 1 3 5 2 3 2 3 3 3 4 5 2
Podemos usar o código a seguir para comparar o número de gols por linha e exibir o vencedor da partida em uma terceira coluna:
#define conditions conditions = [df[' A_points '] > df[' B_points '], df[' A_points '] < df[' B_points ']] #define choices choices = [' A ', ' B '] #create new column in DataFrame that displays results of comparisons df[' winner '] = np. select (conditions, choices, default=' Tie ') #view the DataFrame df A_points B_points winner 0 1 4 B 1 3 5 B 2 3 2 A 3 3 3 Tie 4 5 2 A
Os resultados da comparação são exibidos na nova coluna chamada vencedor .
Comentários
Aqui estão algumas coisas que você deve ter em mente ao comparar duas colunas em um DataFrame do pandas:
- O número de condições e escolhas deve ser igual.
- O padrão especifica o valor a ser exibido na nova coluna se nenhuma das condições for atendida.
- NumPy e Pandas são necessários para que este código funcione.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Como renomear colunas no Pandas
Como adicionar uma coluna a um DataFrame do Pandas
Como alterar a ordem das colunas no Pandas DataFrame