Loading [MathJax]/jax/output/HTML-CSS/config.js

Passer d’un format large à un format long avec melt()

La méthode melt() permet de transformer un DataFrame d’un format large (wide) en un format long (long format). Elle est souvent utilisée pour « déplier » un DataFrame en plusieurs lignes, où chaque observation est associée à une colonne spécifique de manière plus lisible ou mieux adaptée à certaines analyses.

Fonctions :

  • df.melt(id_vars=['col1'], value_vars=['col2', 'col3'])

    La méthode melt() permet de transformer un DataFrame depuis un format large (wide) en un format long (tidy). C'est l'opposé de pivot() : on réduit le nombre de colonnes en empilant leurs valeurs, tout en conservant les colonnes identifiantes. ➡️ Très utile pour : Préparer des données pour certains types d'analyses ou visualisations (ex : seaborn attend souvent un format long). Dénormaliser des données avant des transformations supplémentaires.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    id_vars Les colonnes identifiantes à conserver (restent inchangées).
    value_vars Les colonnes à déplier en une seule colonne (fusionnées en deux nouvelles colonnes : variable et value).
    var_name (optionnel) Nom de la colonne résultante contenant les noms des colonnes originales (par défaut : 'variable').
    value_name (optionnel) Nom de la colonne résultante contenant les valeurs (par défaut : 'value').

    Exemple de code :

    import pandas as pd
    
    # Exemple de DataFrame large
    df = pd.DataFrame({
        'Date': ['2024-01-01', '2024-01-02'],
        'Produit_A': [100, 120],
        'Produit_B': [150, 130]
    })
    
    # Transformation en format long
    long_df = df.melt(id_vars=['Date'], value_vars=['Produit_A', 'Produit_B'], 
                      var_name='Produit', value_name='Vente')
    
    print(long_df)
    Résultat du code

    Explication du code :

    Importation de la bibliothèque

    import pandas as pd

    Cette ligne importe la bibliothèque pandas, qui permet de manipuler des structures de données tabulaires en Python.

    Création d’un DataFrame large

    df = pd.DataFrame({'Date': ['2024-01-01', '2024-01-02'], 'Produit_A': [100, 120], 'Produit_B': [150, 130]})

    On crée un DataFrame avec une colonne Date et deux colonnes représentant les ventes de deux produits différents, Produit_A et Produit_B.

    Transformation en format long

    long_df = df.melt(id_vars=['Date'], value_vars=['Produit_A', 'Produit_B'], var_name='Produit', value_name='Vente')

    La méthode melt() transforme le DataFrame en format long. Ici, Date reste une colonne fixe, et les colonnes Produit_A et Produit_B sont fondées sous une seule colonne Produit, avec leurs valeurs dans la colonne Vente.

    Affichage du DataFrame transformé

    print(long_df)

    Cette ligne affiche le DataFrame après sa transformation en format long. Cela permet de restructurer les données de manière plus pratique pour certaines analyses ou visualisations.