Réinitialiser l’index après un pivotement (reset_index())

La méthode reset_index() permet de réinitialiser l’index d’un DataFrame après un pivotement. Cela transforme l’index actuel en colonnes classiques et crée un nouvel index numérique. Cette opération est utile pour réorganiser les données après un pivotement, notamment pour éviter que l’index d’origine ne devienne une colonne supplémentaire, facilitant ainsi l’accès et l’analyse des données.

Fonctions :

  • df.reset_index()

    La méthode reset_index() permet de réinitialiser l’index d’un DataFrame, c’est-à-dire de remettre les index par défaut (0, 1, 2, ...). Elle est souvent utilisée après des opérations comme pivot(), pivot_table() ou groupby(), qui peuvent produire des index multi-niveaux (MultiIndex). ✅ Elle remet les colonnes de l’index en colonnes normales du DataFrame.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    level Niveau ou niveaux de l’index à réinitialiser (utile avec un MultiIndex).
    drop (bool) Si True, l'index est réinitialisé sans être ajouté comme colonne (par défaut False).
    inplace (bool) Si True, applique directement la modification sur le DataFrame (sans retour).
    col_level Si le DataFrame a des colonnes multi-niveaux, permet de préciser à quel niveau ajouter l’index.
    col_fill Valeur de remplissage des colonnes vides après réinitialisation.

    Exemple de code :

    import pandas as pd
    
    # Exemple de pivot_table
    df = pd.DataFrame({
        'Magasin': ['Paris', 'Paris', 'Lyon', 'Lyon', 'Paris'],
        'Produit': ['A', 'B', 'A', 'B', 'A'],
        'Vente': [100, 150, 80, 120, 130]
    })
    
    # Création d'une pivot_table avec Magasin comme index
    pivot = df.pivot_table(index='Magasin',
                           columns='Produit',
                           values='Vente',
                           aggfunc='mean')
    
    print("Pivot Table avant reset_index():\n", pivot)
    
    # Réinitialiser l'index
    pivot_reset = pivot.reset_index()
    
    print("\nPivot Table après reset_index():\n", pivot_reset)

    Explication du code :

    1. La pivot_table utilise Magasin comme index, ce qui génère :
    2. Après reset_index(), la colonne Magasin devient une colonne normale du DataFrame :