Trier un DataFrame en fonction de l’index (sort_index())
La fonction sort_index() permet de trier un DataFrame en fonction de ses index, que ce soit par ordre croissant ou décroissant. Elle est utile lorsqu’on souhaite organiser les données selon leur étiquette d’index plutôt que par une colonne spécifique. Le paramètre ascending permet de choisir l’ordre de tri : True pour croissant et False pour décroissant.
Fonctions :
-
sort_index()
La méthode sort_index() permet de trier un DataFrame selon l'index. Par défaut, le tri s’effectue en ordre croissant, mais vous pouvez aussi spécifier un ordre décroissant ou d’autres critères. Cette fonction est utile lorsque vous souhaitez réorganiser les données selon l'ordre de l'index ou si l'index ne suit pas un ordre spécifique.
Importation :
import pandas as pd
Attributs :
Paramètre Description axis
Spécifie l'axe sur lequel trier : 0
pour les lignes (par défaut),1
pour les colonnes.ascending
Booléen ou liste de booléens pour définir l'ordre de tri. Par défaut, True
(croissant). SiFalse
, l'ordre sera décroissant.inplace
Booléen qui permet de modifier le DataFrame en place. Si True
, le DataFrame est modifié sans création d’une nouvelle copie. Par défaut,False
.level
Permet de spécifier un niveau d'index (utile si l'index est multi-niveau). Exemple de code :
import pandas as pd # Exemple de DataFrame avec un index personnalisé data = { 'nom': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'], 'âge': [24, 30, 35, 30, 24], 'score': [88, 92, 75, 85, 95] } index = ['a', 'b', 'c', 'd', 'e'] df = pd.DataFrame(data, index=index) # Trier par index en ordre croissant (par défaut) df_trie_asc = df.sort_index(ascending=True) print("DataFrame trié par index (ordre croissant) :") print(df_trie_asc) # Trier par index en ordre décroissant df_trie_desc = df.sort_index(ascending=False) print("\nDataFrame trié par index (ordre décroissant) :") print(df_trie_desc) # Trier en place par index en ordre croissant df.sort_index(ascending=True, inplace=True) print("\nDataFrame trié par index (en place, ordre croissant) :") print(df)
Explication du code :
- DataFrame : Un DataFrame est créé avec des données fictives comprenant les colonnes
nom
,âge
, etscore
, et un index personnalisé['a', 'b', 'c', 'd', 'e']
. - Tri par index avec
sort_index()
:- Le premier exemple trie les lignes du DataFrame par l'index en ordre croissant (par défaut,
ascending=True
). - Le deuxième exemple trie le DataFrame par l'index en ordre décroissant en utilisant
ascending=False
. - Le troisième exemple trie en place, ce qui modifie directement le DataFrame original.
- Le premier exemple trie les lignes du DataFrame par l'index en ordre croissant (par défaut,
Remarque :
- Utilisation avec un index multi-niveau : Si votre DataFrame possède un index multi-niveau (c'est-à-dire plusieurs niveaux d'index), vous pouvez utiliser l'argument
level
pour trier spécifiquement selon l'un des niveaux d'index. - Inplace : L'argument
inplace=True
permet de modifier le DataFrame directement sans avoir besoin de créer une nouvelle copie. Cela peut être utile si vous souhaitez économiser de la mémoire ou éviter de créer une variable supplémentaire.
- DataFrame : Un DataFrame est créé avec des données fictives comprenant les colonnes