Accéder aux éléments d'un MultiIndex avec loc[]

La méthode loc[] permet d’accéder aux éléments d’un MultiIndex dans un DataFrame en spécifiant les valeurs des différents niveaux de l’index. Cela permet de naviguer de manière hiérarchique à travers les données indexées sur plusieurs niveaux.

Fonctions :

  • df.loc['A']

    La fonction loc[] permet d'accéder aux éléments d'un DataFrame à l'aide de labels, y compris ceux des niveaux d'un MultiIndex. Lorsqu'un MultiIndex est défini, vous pouvez utiliser loc[] pour accéder à une ou plusieurs valeurs spécifiques d'un ou plusieurs niveaux d'index. Si le DataFrame a un MultiIndex, vous pouvez spécifier un ou plusieurs niveaux de l'index pour sélectionner des sous-ensembles de données.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Type Description Valeur par défaut
    labels str, tuple, ou liste Le ou les labels d'index que vous souhaitez utiliser pour accéder aux éléments du DataFrame. Pour un MultiIndex, vous pouvez spécifier un seul niveau ou une combinaison de niveaux. None

    Exemple de code :

    import pandas as pd
    
    # Création d'un DataFrame avec un MultiIndex
    df = pd.DataFrame({
        'col1': ['A', 'A', 'B', 'B'],
        'col2': [1, 2, 1, 2],
        'valeur': [10, 20, 30, 40]
    })
    df.set_index(['col1', 'col2'], inplace=True)
    
    # Accéder aux éléments où le premier niveau de l'index est 'A'
    resultat_A = df.loc['A']
    
    # Afficher le résultat
    print(resultat_A)

    Explication du code :

    1. df.loc['A'] :

      • Cette ligne permet d'accéder à toutes les lignes où le premier niveau de l'index (col1 dans cet exemple) est égal à 'A'.
      • Si le DataFrame utilise un MultiIndex, seules les lignes correspondant à 'A' dans le premier niveau de l'index seront renvoyées, quel que soit le second niveau de l'index.
    2. Accès avec un MultiIndex :

      • Vous pouvez également accéder à des valeurs spécifiques en précisant plusieurs niveaux. Par exemple, df.loc[('A', 1)] permet d'accéder à la ligne où col1 est 'A' et col2 est 1.

    🔹 Remarques pratiques

    • Accéder à un seul niveau d'index :
      Lorsque vous spécifiez un seul niveau, comme df.loc['A'], cela renverra toutes les lignes où le premier niveau de l'index est égal à 'A', indépendamment du second niveau.

    • Accès à plusieurs niveaux de l'index :
      Vous pouvez accéder à une ligne spécifique dans un MultiIndex en fournissant une tuple avec les valeurs des différents niveaux. Par exemple, df.loc[('A', 1)] vous renverra la ligne où col1 est 'A' et col2 est 1.

    • Accès à une tranche d'index :
      Vous pouvez également utiliser des tranches pour accéder à plusieurs niveaux, par exemple df.loc['A':'B'] pour obtenir toutes les lignes où le premier niveau de l'index est entre 'A' et 'B'.