Pandas Rejoindre ou Fusionner : Quelle est la différence ?
Les fonctions join() et merge() peuvent être utilisées pour combiner deux DataFrames pandas.
Voici la principale différence entre les deux fonctions :
- La fonction join() combine deux DataFrames par index.
- La fonction merge() combine deux DataFrames selon la colonne que vous spécifiez.
Ces fonctions utilisent la syntaxe de base suivante :
#use join() to combine two DataFrames by index df1.join(df2) #use merge() to combine two DataFrames by specific column name df1.merge(df2, on='column_name')
Dans les cas où vous savez que vous souhaitez joindre deux DataFrames par index, la fonction join() peut être utilisée pour économiser de la saisie.
Les exemples suivants montrent comment utiliser chaque fonction dans la pratique.
Exemple 1 : Comment utiliser la fonction join()
Le code suivant montre comment utiliser la fonction join() pour combiner deux DataFrames :
import pandas as pd #create two DataFrames df1 = pd.DataFrame({'name': ['A', 'B', 'C'], 'points': [8, 12, 19]}).set_index('name') df2 = pd.DataFrame({'name': ['A', 'B', 'C'], 'steals': [4, 5, 2]}).set_index('name') #view two DataFrames print(df1); print(df2) points steals name name A 8 A 4 B 12 B 5 C 19 C 2 #use join() function to join together two DataFrames df1.join(df2) points steals name A 8 4 B 12 5 C 19 2
Par défaut, la fonction join() joignait les deux DataFrames à l’aide de la colonne index.
Exemple 2 : Comment utiliser la fonction merge()
Le code suivant montre comment utiliser la fonction merge() pour combiner deux DataFrames :
import pandas as pd #create two DataFrames df1 = pd.DataFrame({'name': ['A', 'B', 'C'], 'points': [8, 12, 19]}).set_index('name') df2 = pd.DataFrame({'name': ['A', 'B', 'C'], 'steals': [4, 5, 2]}).set_index('name') #view two DataFrames print(df1); print(df2) points steals name name A 8 A 4 B 12 B 5 C 19 C 2 #use join() function to join together two DataFrames df1.merge(df2, on='name') points steals name A 8 4 B 12 5 C 19 2
Notez que la fonction merge() a renvoyé exactement le même résultat, mais nous avons dû dire explicitement aux pandas de rejoindre les DataFrames en utilisant la colonne « nom ».
Ressources additionnelles
Vous pouvez trouver la documentation complète en ligne pour les fonctions join() et merge() ici :
Documentation pour la fonction join()
Documentation pour la fonction merge()
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :
Comment ajouter des lignes à un DataFrame Pandas
Comment ajouter une ligne d’en-tête au Pandas DataFrame
Comment obtenir la première rangée de Pandas DataFrame
Comment obtenir la première colonne de Pandas DataFrame