Trier un DataFrame en fonction de l’index
Dans un tableau de données, l’index joue un rôle clé en identifiant de manière unique chaque ligne. Trier un DataFrame selon cet index permet de réorganiser les données dans un ordre spécifique basé sur ces identifiants, facilitant ainsi la recherche, la comparaison ou l’alignement avec d’autres jeux de données. Ce tri peut être effectué dans l’ordre croissant ou décroissant, selon les besoins de l’analyse.
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 pdAttributs :
Paramètre Description axisSpécifie l'axe sur lequel trier : 0pour les lignes (par défaut),1pour les colonnes.ascendingBooléen ou liste de booléens pour définir l'ordre de tri. Par défaut, True(croissant). SiFalse, l'ordre sera décroissant.inplaceBoolé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.levelPermet 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 :
import pandas as pdimporte la bibliothèque pandas, renommée ici enpdpour simplifier son utilisation dans le code.Exemple de DataFrame avec un index personnalisé
Le dictionnaire
datacontient trois clés :'nom','âge'et'score', chacune associée à une liste de valeurs. Ce dictionnaire est utilisé pour créer un DataFramedf, avec un index personnalisé défini par la listeindexcontenant les valeurs'a','b','c','d'et'e'.Trier par index en ordre croissant
La méthode
sort_index()permet de trier les lignes d'un DataFrame en fonction de l'index. En utilisantascending=True, les lignes sont triées par ordre croissant de l'index, et le résultat est assigné àdf_trie_asc.df_trie_asc = df.sort_index(ascending=True)trie donc le DataFrame par index en ordre croissant et le stocke dans une nouvelle variabledf_trie_asc.Trier par index en ordre décroissant
En utilisant
ascending=False, la méthodesort_index()trie les lignes en fonction de l'index par ordre décroissant. Le résultat est assigné àdf_trie_desc.df_trie_desc = df.sort_index(ascending=False)trie donc le DataFrame par index en ordre décroissant et le stocke dans une nouvelle variabledf_trie_desc.Trier en place par index en ordre croissant
Lorsque le paramètre
inplace=Trueest utilisé, le tri se fait directement sur le DataFrame d'origine, modifiant ainsi son contenu sans créer de nouvelle variable. Dans ce cas,df.sort_index(ascending=True, inplace=True)trie le DataFrame par index en ordre croissant sans créer une copie du DataFrame trié.Enfin,
print(df)affiche le DataFrame modifié en place.