Pandas: como comparar colunas em dois dataframes diferentes
Você pode usar os seguintes métodos para comparar colunas de dois DataFrames panda diferentes:
Método 1: contar valores correspondentes entre colunas
df1[' my_column ']. isin (df2[' my_column ']). value_counts ()
Método 2: mostrar valores correspondentes entre colunas
p.d. merge (df1, df2, on=[' my_column '], how=' inner ')
Os exemplos a seguir mostram como usar cada método com os seguintes DataFrames do pandas:
import numpy as np import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['Mavs', 'Rockets', 'Spurs', 'Heat', 'Nets'], ' points ': [22, 30, 15, 17, 14]}) #view DataFrame print (df1) team points 0 Mavs 22 1 Rockets 30 2 Spurs 15 3 Heat 17 4 Nets 14 #create second DataFrame df2 = pd. DataFrame ({' team ': ['Mavs', 'Thunder', 'Spurs', 'Nets', 'Cavs'], ' points ': [25, 40, 31, 32, 22]}) #view DataFrame print (df2) team points 0 Mavs 25 1 Thunder 40 2 Spurs 31 3 Nets 32 4 Cavs 22
Exemplo 1: contar valores correspondentes entre colunas
O código a seguir mostra como contar o número de valores correspondentes entre colunas de equipe em cada DataFrame:
#count matching values in team columns
df1[' team ']. isin (df2[' team ']). value_counts ()
True 3
False 2
Name: team, dtype: int64
Vemos que os dois DataFrames têm 3 nomes de equipe em comum e 2 nomes de equipe diferentes.
Exemplo 2: Mostrar valores correspondentes entre colunas
O código a seguir mostra como exibir os valores correspondentes reais entre as colunas da equipe em cada DataFrame:
#display matching values between team columns
p.d. merge (df1, df2, on=[' team '], how=' inner ')
team points_x points_y
0 Mavs 22 25
1 Spurs 15 31
2 Nets 14 32
Pelo resultado, podemos ver que ambos os DataFrames possuem os seguintes valores em comum nas colunas do time :
- Mavs
- Esporas
- Redes
Relacionado: Como realizar uma junção interna no Pandas (com exemplo)
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