Comment faire une jointure à gauche dans Pandas (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour effectuer une jointure gauche dans les pandas :

import pandas as pd

df1.merge(df2, on='column_name', how='left')

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Comment effectuer une jointure à gauche 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 gauche, en conservant toutes les lignes du premier DataFrame et en ajoutant toutes les colonnes qui correspondent en fonction de la colonne d’équipe dans le deuxième DataFrame :

#perform left join
df1.merge(df2, on='team', how='left')

        team	points	assists
0	A	18	4.0
1	B	22	9.0
2	C	19	14.0
3	D	14	13.0
4	E	14	NaN
5	F	11	NaN
6	G	20	10.0
7	H	28	8.0

Chaque équipe du DataFrame de gauche ( df1 ) est renvoyée dans le DataFrame fusionné et seules les lignes du DataFrame de droite ( df2 ) qui correspondent à un nom d’équipe dans le DataFrame de gauche sont renvoyées.

Notez que les deux équipes de df2 (équipes E et F) qui ne correspondent pas à un nom d’équipe dans df1 renvoient simplement une valeur NaN dans la colonne des passes décisives du DataFrame fusionné.

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='left')


        team	points	assists
0	A	18	4.0
1	B	22	9.0
2	C	19	14.0
3	D	14	13.0
4	E	14	NaN
5	F	11	NaN
6	G	20	10.0
7	H	28	8.0

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 effectuer une anti-jointure dans Pandas
Comment effectuer une jointure interne dans Pandas
Comment effectuer une jointure croisée dans Pandas

Ajouter un commentaire

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