Pandas : comment vérifier si deux DataFrames sont égaux
Vous pouvez utiliser la syntaxe de base suivante pour vérifier si deux DataFrames pandas sont égaux :
df1.equals(df2)
Cela renverra une valeur de True ou False .
Si deux DataFrames ne sont pas égaux, vous pouvez utiliser la syntaxe suivante pour rechercher les lignes du deuxième DataFrame qui n’existent pas dans le premier 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)
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Vérifiez si deux DataFrames pandas sont égaux
Supposons que nous ayons les deux DataFrames pandas suivants :
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 A 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 A 12 1 D 29 2 F 15 3 G 19 4 H 10
Nous pouvons utiliser la syntaxe suivante pour vérifier si les deux DataFrames sont égaux :
#check if two DataFrames are equal df1.equals(df2) False
La sortie renvoie False , ce qui signifie que les deux DataFrames ne sont pas égaux.
Nous pouvons ensuite utiliser la syntaxe suivante pour rechercher quelles lignes existent dans le deuxième DataFrame mais pas dans le premier :
#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 H 10
À partir du résultat, nous pouvons voir qu’il y a trois lignes dans le deuxième DataFrame qui n’existent pas dans le premier DataFrame.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Pandas : ajouter une colonne d’un DataFrame à un autre
Pandas : obtenez des lignes qui ne se trouvent pas dans un autre DataFrame
Pandas : comment vérifier si plusieurs colonnes sont égales