Comment faire une jointure interne dans Pandas (avec exemple)
Vous pouvez utiliser la syntaxe de base suivante pour effectuer une jointure interne dans les pandas :
import pandas as pd df1.merge(df2, on='column_name', how='inner')
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment effectuer une jointure interne dans Pandas
Supposons que nous ayons les deux DataFrames pandas suivants qui contiennent des informations sur diverses équipes de basket-ball :
import pandas as pd #create DataFrame df1 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'points': [18, 22, 19, 14, 14, 11, 20, 28]}) df2 = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'G', 'H'], 'assists': [4, 9, 14, 13, 10, 8]}) #view DataFrames print(df1) team points 0 A 18 1 B 22 2 C 19 3 D 14 4 E 14 5 F 11 6 G 20 7 H 28 print(df2) team assists 0 A 4 1 B 9 2 C 14 3 D 13 4 G 10 5 H 8
Nous pouvons utiliser le code suivant pour effectuer une jointure interne, qui conserve uniquement les lignes où le nom de l’ équipe apparaît dans les deux DataFrames :
#perform left join
df1.merge(df2, on='team', how='inner')
team points assists
0 A 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5 H 28 8
Les seules lignes contenues dans le DataFrame fusionné sont celles où le nom de l’équipe apparaît dans les deux DataFrames.
Notez que deux équipes ont été supprimées (équipes E et F) car elles n’apparaissaient pas dans les deux DataFrames.
Notez que vous pouvez également utiliser pd.merge() avec la syntaxe suivante pour renvoyer exactement le même résultat :
#perform left join
pd.merge(df1, df2, on='team', how='inner')
team points assists
0 A 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5 H 28 8
Notez que ce DataFrame fusionné correspond à celui de l’exemple précédent.
Remarque : Vous pouvez trouver la documentation complète de la fonction de fusion ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment faire une jointure à gauche dans Pandas
Comment fusionner des DataFrames Pandas sur plusieurs colonnes
Pandas Rejoindre ou Fusionner : Quelle est la différence ?