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)
    Résultat du code

    Explication du code :

    Importation de la bibliothèque

    import pandas as pd

    Cette ligne importe la bibliothèque pandas sous l’alias pd, 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 colonne nom 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 colonne age.

    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 colonne id 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 colonnes id, nom et age.