Pandas : comment comparer des colonnes dans deux DataFrames différents
Vous pouvez utiliser les méthodes suivantes pour comparer les colonnes de deux DataFrames pandas différents :
Méthode 1 : compter les valeurs correspondantes entre les colonnes
df1['my_column'].isin(df2['my_column']).value_counts()
Méthode 2 : afficher les valeurs correspondantes entre les colonnes
pd.merge(df1, df2, on=['my_column'], how='inner')
Les exemples suivants montrent comment utiliser chaque méthode avec les DataFrames pandas suivants :
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
Exemple 1 : compter les valeurs correspondantes entre les colonnes
Le code suivant montre comment compter le nombre de valeurs correspondantes entre les colonnes d’équipe dans chaque DataFrame :
#count matching values in team columns
df1['team'].isin(df2['team']).value_counts()
True 3
False 2
Name: team, dtype: int64
On voit que les deux DataFrames ont 3 noms d’équipes en commun et 2 noms d’équipes différents.
Exemple 2 : Afficher les valeurs correspondantes entre les colonnes
Le code suivant montre comment afficher les valeurs correspondantes réelles entre les colonnes d’équipe dans chaque DataFrame :
#display matching values between team columns
pd.merge(df1, df2, on=['team'], how='inner')
team points_x points_y
0 Mavs 22 25
1 Spurs 15 31
2 Nets 14 32
À partir du résultat, nous pouvons voir que les deux DataFrames ont les valeurs suivantes en commun dans les colonnes de l’équipe :
- Mavs
- Éperons
- Filets
Connexes : Comment effectuer une jointure interne dans Pandas (avec exemple)
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Comment renommer des colonnes dans Pandas
Comment ajouter une colonne à un DataFrame Pandas
Comment modifier l’ordre des colonnes dans Pandas DataFrame