Pandas : Comment fusionner deux DataFrames avec des noms de colonnes différents
Vous pouvez utiliser la syntaxe de base suivante pour fusionner deux DataFrames pandas avec des noms de colonnes différents :
pd.merge(df1, df2, left_on='left_column_name', right_on='right_column_name')
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : fusionner deux DataFrames Pandas avec des noms de colonnes différents
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', 'F'], 'points': [4, 4, 6, 8, 9, 5]}) #view DataFrame print(df1) team points 0 A 4 1 B 4 2 C 6 3 D 8 4 E 9 5 F 5 #create second DataFrame df2 = pd.DataFrame({'team_name': ['A', 'B', 'C', 'D', 'E', 'F'], 'rebounds': [12, 7, 8, 8, 5, 11]}) #view DataFrame print(df2) team_name rebounds 0 A 12 1 B 7 2 C 8 3 D 8 4 E 5 5 F 11
Nous pouvons utiliser la syntaxe suivante pour effectuer une jointure interne, en utilisant la colonne team dans le premier DataFrame et la colonne team_name dans le deuxième DataFrame :
#merge DataFrames
df3 = pd.merge(df1, df2, left_on='team', right_on='team_name')
#view result
print(df3)
team points team_name rebounds
0 A 4 A 12
1 B 4 B 7
2 C 6 C 8
3 D 8 D 8
4 E 9 E 5
5 F 5 F 11
Notez que nous sommes en mesure d’effectuer avec succès une jointure interne même si les deux noms de colonnes que nous avons utilisés pour la jointure étaient différents dans chaque DataFrame.
Notez que nous pouvons également utiliser le code suivant pour supprimer la colonne team_name du DataFrame final fusionné puisque les valeurs de cette colonne correspondent à celles de la colonne team :
#drop team_name column
df3.drop('team_name', axis=1, inplace=True)
#view updated DataFrame
print(df3)
team points rebounds
0 A 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11
Notez que la colonne team_name a été supprimée du DataFrame.
Connexe : Comment supprimer des colonnes dans Pandas (4 exemples)
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes chez les pandas :
Comment changer l’ordre des colonnes dans Pandas
Comment renommer des colonnes dans Pandas
Comment trier les colonnes par nom dans Pandas