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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *