Fusion de DataFrames avec merge() sur une colonne commune
La fusion de DataFrames avec merge() permet de combiner deux DataFrames en fonction d’une ou plusieurs colonnes communes. Cela permet d’associer des données de manière similaire à une jointure SQL, avec des options pour spécifier le type de fusion (interne, gauche, droite, extérieure).
Fonctions :
-
merge()
La fonction pd.merge() permet de fusionner deux DataFrames en se basant sur une colonne ou un ensemble de colonnes communes. C’est l'équivalent d'une jointure SQL, où on peut choisir le type de jointure (interne, externe, gauche, droite) et spécifier la colonne sur laquelle la fusion doit se faire.
Importation :
import pandas as pdAttributs :
Paramètre Description onLa ou les colonnes sur lesquelles la fusion sera effectuée (doit exister dans les deux DataFrames). howLe type de jointure : 'inner'(par défaut) : jointure interne, garde uniquement les lignes communes entre les deux DataFrames.'outer': jointure externe, garde toutes les lignes, avec NaN pour les valeurs manquantes.'left': jointure à gauche, garde toutes les lignes du DataFrame de gauche.'right': jointure à droite, garde toutes les lignes du DataFrame de droite.
left_onSpécifie la ou les colonnes du DataFrame de gauche sur lesquelles la fusion doit être effectuée (si elles diffèrent du paramètre on).right_onSpécifie la ou les colonnes du DataFrame de droite sur lesquelles la fusion doit être effectuée (si elles diffèrent du paramètre on).suffixesUn tuple qui ajoute un suffixe aux colonnes avec des noms communs dans les DataFrames, pour éviter les conflits de nom. Par exemple : suffixes=('_df1', '_df2').Exemple de code :
import pandas as pd # Exemple de DataFrames df1 = pd.DataFrame({ 'id': [1, 2, 3], 'nom': ['Alice', 'Bob', 'Charlie'] }) df2 = pd.DataFrame({ 'id': [2, 3, 4], 'age': [24, 25, 30] }) # Fusion des DataFrames sur la colonne 'id' df_merge = pd.merge(df1, df2, on='id') # Affichage du DataFrame fusionné print(df_merge)
Explication du code :
Importation de la bibliothèque
import pandas as pdCette ligne importe la bibliothèque
pandassous l’aliaspd, afin de manipuler facilement des données tabulaires avec des DataFrames.Création des DataFrames
df1 = pd.DataFrame({'id': [1, 2, 3], 'nom': ['Alice', 'Bob', 'Charlie']})Ce DataFrame contient une colonne
id(identifiant unique) et une colonnenomreprésentant des prénoms.df2 = pd.DataFrame({'id': [2, 3, 4], 'age': [24, 25, 30]})Le second DataFrame contient également une colonne
id, commune àdf1, ainsi qu'une colonneage.Fusion des DataFrames sur la colonne 'id'
df_merge = pd.merge(df1, df2, on='id')La fonction
pd.merge()permet de fusionner les deux DataFrames sur la base de la colonneidqu'ils ont en commun.Par défaut, cette opération réalise une jointure de type inner join, c’est-à-dire qu’elle ne garde que les lignes dont l’identifiant
idest présent dans les deux DataFrames.Affichage du DataFrame fusionné
print(df_merge)Cette ligne affiche le DataFrame résultant de la fusion, qui contient uniquement les lignes avec un
idcommun, ainsi que les colonnesid,nometage.