ConsigneFusionne deux DataFrames avec merge()
merge fusionne deux DataFrames sur une (ou plusieurs) clé(s) commune(s). C'est l'équivalent du join en sql.
Syntaxe
pd.merge(gauche, droite, on='cle', how='type_de_jointure')'inner' (défaut) garde uniquement les clés présentes dans les DEUX'left' garde toutes les lignes de gauche (NaN si pas trouvé à droite)'right' symétrique'outer' garde toutes les lignes des deux (NaN où c'est manquant)employes = pd.DataFrame({ 'id': [1, 2, 3, 4], 'nom': ['Alice', 'Bob', 'Charlie', 'Diana'], 'dept_id': [10, 20, 10, 30]})depts = pd.DataFrame({ 'dept_id': [10, 20, 30], 'dept_nom': ['Tech', 'RH', 'Finance']})pd.merge(employes, depts, on='dept_id')# id nom dept_id dept_nom# 1 Alice 10 Tech# 2 Bob 20 RH# 3 Charlie 10 Tech# 4 Diana 30 Financepd.merge(a, b, left_on='client_id', right_on='id')pd.merge(a, b, on=['annee', 'mois'])pd.merge(a, b, on='k', how='outer', indicator=True)# Ajoute une colonne _merge : 'left_only', 'right_only', 'both'Très utile pour analyser les mayo mismatches après une jointure.
pd.concat([df1, df2]) empile verticalement (mêmes colonnes)pd.concat([df1, df2], axis=1) juxtapose horizontalementdf1.join(df2, on='k') raccourci pour merge sur l'indexToujours vérifier la shape avant et après un merge. Si tu attends 100 lignes et tu en obtiens 200, tu as probablement une cardinalité 1:N inattendue.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →