Pandas: como verificar se dois dataframes são iguais


Você pode usar a seguinte sintaxe básica para verificar se dois DataFrames do pandas são iguais:

 df1. equals (df2)

Isso retornará um valor True ou False .

Se dois DataFrames não forem iguais, você pode usar a seguinte sintaxe para encontrar linhas no segundo DataFrame que não existem no primeiro DataFrame:

 #perform outer join on two DataFrames
all_df = df1. merge (df2, indicator= True , how=' outer ')

#find which rows only exist in second DataFrame
only_df2 = all_df[all_df[' _merge '] == ' right_only ']
only_df2 = only_df2. drop (' _merge ', axis= 1 )

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: verifique se dois DataFrames do pandas são iguais

Vamos supor que temos os dois DataFrames panda a seguir:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'], 
                    ' points ': [12, 15, 22, 29, 24]}) 

print (df1)

  team points
0 to 12
1 B 15
2 C 22
3 D 29
4 E 24

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'D', 'F', 'G', 'H'],
                    ' points ': [12, 29, 15, 19, 10]})

print (df2)

  team points
0 to 12
1 D 29
2 F 15
3 G 19
4:10 a.m.

Podemos usar a seguinte sintaxe para verificar se os dois DataFrames são iguais:

 #check if two DataFrames are equal
df1. equals (df2)

False

A saída retorna False , o que significa que os dois DataFrames não são iguais.

Podemos então usar a seguinte sintaxe para descobrir quais linhas existem no segundo DataFrame, mas não no primeiro:

 #perform outer join on two DataFrames
all_df = df1. merge (df2, indicator= True , how=' outer ')

#find which rows only exist in second DataFrame
only_df2 = all_df[all_df[' _merge '] == ' right_only ']
only_df2 = only_df2. drop (' _merge ', axis= 1 )

#view results
print (only_df2)

  team points
5 F 15
6 G 19
7:10 a.m.

Pelo resultado, podemos ver que existem três linhas no segundo DataFrame que não existem no primeiro DataFrame.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: adicione uma coluna de um DataFrame para outro
Pandas: Obtenha linhas que não estão em outro DataFrame
Pandas: como verificar se várias colunas são iguais

Add a Comment

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