Utilisation de stack() pour empiler les colonnes en lignes

La méthode stack() permet de « empiler » les colonnes d’un DataFrame sous forme de lignes, créant ainsi une structure à plusieurs niveaux (un MultiIndex) pour les nouvelles lignes.

Fonctions :

  • df.stack()

    La fonction stack() permet d'empiler les colonnes d'un DataFrame en lignes. Autrement dit, elle transforme un DataFrame en une structure de type série (avec un MultiIndex), où les colonnes sont regroupées sous l'index, et chaque cellule de ces colonnes devient une valeur dans une nouvelle série. Elle est particulièrement utile lorsque vous souhaitez convertir des données structurées en format large (avec plusieurs colonnes) en un format plus long, avec une seule colonne contenant toutes les valeurs de l'origine. Cette méthode permet également de simplifier le travail avec des données multi-indexées.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Type Description Valeur par défaut
    Aucun paramètre requis. None Par défaut, stack() empile toutes les colonnes. None

    Exemple de code :

    import pandas as pd
    
    # Création d'un DataFrame
    df = pd.DataFrame({
        'A': [1, 2, 3],
        'B': [4, 5, 6],
        'C': [7, 8, 9]
    })
    
    # Empiler les colonnes en lignes
    resultat_stack = df.stack()
    
    # Afficher le résultat
    print(resultat_stack)
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée ici en pd pour simplifier son utilisation dans le code.

    Création d'un DataFrame

    Le code crée un DataFrame nommé df avec trois colonnes : 'A', 'B', et 'C'. Les données de chaque colonne sont spécifiées comme des listes dans le dictionnaire passé à pd.DataFrame().

    Empiler les colonnes en lignes

    La méthode stack() empile les colonnes du DataFrame en lignes, c'est-à-dire qu'elle transforme les colonnes en un index à deux niveaux où le premier niveau représente les indices des lignes d'origine et le second niveau représente les noms des colonnes.

    resultat_stack = df.stack() applique cette transformation et assigne le résultat à la variable resultat_stack.

    Afficher le résultat

    La fonction print() affiche le contenu de resultat_stack, montrant les données du DataFrame avec les colonnes empilées sous forme de lignes.