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 :
-
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.
- Cette ligne permet d'accéder à toutes les lignes où le premier niveau de l'index (
-
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'
etcol2
est1
.
- Vous pouvez également accéder à des valeurs spécifiques en précisant plusieurs niveaux. Par exemple,
🔹 Remarques pratiques
-
Accéder à un seul niveau d'index :
Lorsque vous spécifiez un seul niveau, commedf.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 unMultiIndex
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'
etcol2
est1
. -
Accès à une tranche d'index :
Vous pouvez également utiliser des tranches pour accéder à plusieurs niveaux, par exempledf.loc['A':'B']
pour obtenir toutes les lignes où le premier niveau de l'index est entre'A'
et'B'
.
-