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 pd
Attributs :
Paramètre Description on
La ou les colonnes sur lesquelles la fusion sera effectuée (doit exister dans les deux DataFrames). how
Le 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_on
Spé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_on
Spé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
).suffixes
Un 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 pd
Cette ligne importe la bibliothèque
pandas
sous 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 colonnenom
repré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 colonneid
qu'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
id
est 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
id
commun, ainsi que les colonnesid
,nom
etage
.