Trier les valeurs d’une colonne (sort_values(by='colonne'))
La méthode sort_values() de Pandas permet de trier les valeurs d’une colonne dans un DataFrame. Elle prend en paramètre le nom de la colonne par laquelle les données doivent être triées, ainsi qu’une option pour spécifier l’ordre du tri (ascendant ou descendant). Par défaut, le tri est effectué par ordre croissant (ascendant).
Fonctions :
-
sort_values(by='colonne')
La méthode sort_values(by='colonne') permet de trier les valeurs d’une colonne spécifique dans un DataFrame. Vous pouvez trier les données de manière ascendante ou descendante en fonction de vos besoins. Cette méthode est particulièrement utile pour organiser des données en fonction de critères précis et effectuer des analyses plus claires.
Importation :
import pandas as pd
Attributs :
Paramètre Description by
Le nom de la colonne sur laquelle effectuer le tri. ascending
Booléen qui définit l'ordre du tri : True
pour un tri ascendant (par défaut) etFalse
pour un tri descendant.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
.Exemple de code :
import pandas as pd # Exemple de DataFrame data = { 'nom': ['Alice', 'Bob', 'Charlie', 'David'], 'âge': [24, 30, 35, 40], 'score': [88, 92, 75, 85], 'ville': ['Paris', 'Lyon', 'Marseille', 'Paris'] } df = pd.DataFrame(data) # Trier les valeurs de la colonne 'âge' de manière ascendante df_ascendant = df.sort_values(by='âge', ascending=True) print("DataFrame trié par âge (ascendant) :") print(df_ascendant) # Trier les valeurs de la colonne 'score' de manière descendante df_descendant = df.sort_values(by='score', ascending=False) print("\nDataFrame trié par score (descendant) :") print(df_descendant) # Trier en place et modifier directement le DataFrame df.sort_values(by='nom', ascending=True, inplace=True) print("\nDataFrame trié par nom (ascendant) en place :") print(df)
Explication du code :
- DataFrame : Un DataFrame est créé avec des données fictives comprenant les colonnes
nom
,âge
,score
, etville
. - Tri par colonne avec
sort_values()
:- La première opération utilise
sort_values(by='âge', ascending=True)
pour trier les lignes du DataFrame en fonction des valeurs de la colonneâge
de manière ascendante. - La deuxième opération utilise
sort_values(by='score', ascending=False)
pour trier les lignes en fonction des valeurs de la colonnescore
de manière descendante. - La dernière opération utilise
sort_values(by='nom', ascending=True, inplace=True)
pour trier le DataFrame par ordre alphabétique croissant des noms, et cette modification est effectuée directement sur le DataFrame original grâce à l'argumentinplace=True
.
- La première opération utilise
Remarque :
- Tri Ascendant / Descendant : Le paramètre
ascending
permet de choisir l'ordre de tri. Siascending=True
, les données seront triées par ordre croissant. Siascending=False
, elles seront triées par ordre décroissant. - Inplace : L'argument
inplace
est utile si vous souhaitez appliquer le tri directement au DataFrame sans créer une nouvelle variable pour le résultat. - Tri multiple : Si vous souhaitez trier par plusieurs colonnes, vous pouvez passer une liste de colonnes à l'argument
by
, commedf.sort_values(by=['colonne1', 'colonne2'])
.
- DataFrame : Un DataFrame est créé avec des données fictives comprenant les colonnes