Loading [MathJax]/extensions/tex2jax.js

Utilisation des sort_index() pour trier un DataFrame avec MultiIndex

La méthode sort_index() permet de trier un DataFrame qui utilise un MultiIndex. Elle trie les lignes du DataFrame selon les niveaux d’index, dans l’ordre croissant ou décroissant. Par défaut, elle trie en fonction de tous les niveaux de l’index, mais il est également possible de spécifier des niveaux d’index spécifiques sur lesquels appliquer le tri.

Fonctions :

  • df.sort_index()

    La méthode sort_index() permet de trier un DataFrame en fonction de ses index. Dans le cas d'un DataFrame avec un MultiIndex, cette méthode trie les données selon l'ordre des niveaux d'index, respectant ainsi la hiérarchie du MultiIndex. Vous pouvez trier les données dans l'ordre croissant ou décroissant, et cette méthode vous permet également de spécifier sur quels niveaux d'index vous souhaitez opérer. Par défaut, elle trie par tous les niveaux du MultiIndex dans l'ordre croissant.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Type Description Valeur par défaut
    axis int, optionnel L'axe à trier, 0 pour les lignes (par défaut) ou 1 pour les colonnes. 0
    level str ou int, optionnel Niveau ou niveaux d'index à utiliser pour trier. Vous pouvez spécifier un ou plusieurs niveaux (par nom ou index). None
    ascending bool, optionnel Détermine si le tri est effectué dans l'ordre croissant (True) ou décroissant (False). Par défaut, c'est True. True
    inplace bool, optionnel Si True, modifie le DataFrame en place. Sinon, renvoie une copie triée du DataFrame. Par défaut, c'est False. False

    Exemple de code :

    import pandas as pd
    
    # Création d'un DataFrame avec un MultiIndex
    index = pd.MultiIndex.from_tuples([('A', 2), ('A', 1), ('B', 2), ('B', 1)], names=['lettre', 'num'])
    df = pd.DataFrame({
        'valeur': [10, 20, 30, 40]
    }, index=index)
    
    # Trier le DataFrame par l'index
    df_sorted = df.sort_index()
    
    # Afficher le résultat
    print(df_sorted)
    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 avec un MultiIndex

    Le code crée un DataFrame nommé df avec une colonne 'valeur' contenant les données [10, 20, 30, 40]. L'index du DataFrame est un MultiIndex, créé à partir de tuples via pd.MultiIndex.from_tuples(). Ces tuples sont définis comme [('A', 2), ('A', 1), ('B', 2), ('B', 1)] et les noms des niveaux de l'index sont spécifiés par names=['lettre', 'num'].

    Trier le DataFrame par l'index

    La méthode sort_index() permet de trier un DataFrame par son index. Ici, df.sort_index() trie le DataFrame df par les valeurs de l'index, en respectant l'ordre des niveaux de l'index (d'abord 'lettre', puis 'num').

    df_sorted = df.sort_index() crée un nouveau DataFrame, df_sorted, où les lignes sont triées selon l'index du DataFrame d'origine.

    Afficher le résultat

    La fonction print() affiche le contenu de df_sorted, montrant le DataFrame trié par son index.