Pandas : Comment trier les DataFrame par ordre alphabétique
Vous pouvez utiliser les méthodes suivantes pour trier les lignes d’un DataFrame pandas par ordre alphabétique :
Méthode 1 : Trier par une colonne par ordre alphabétique
#sort A to Z df.sort_values('column1') #sort Z to A df.sort_values('column1', ascending=False)
Méthode 2 : trier par plusieurs colonnes par ordre alphabétique
#sort by column1 from Z to A, then by column2 from A to Z df.sort_values(['column1', 'column2'], ascending=(False, True))
L’exemple suivant montre comment utiliser chaque méthode dans la pratique.
Exemple 1 : Trier par une colonne par ordre alphabétique
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['Mavs', 'Spurs', 'Lakers', 'Nuggets', 'Hawks'], 'points': [120, 108, 99, 104, 115]}) #view DataFrame print(df) team points 0 Mavs 120 1 Spurs 108 2 Lakers 99 3 Nuggets 104 4 Hawks 115
Nous pouvons utiliser la syntaxe suivante pour trier les lignes du DataFrame par nom d’équipe de A à Z :
#sort by team name A to Z
df_sorted = df.sort_values('team')
#view sorted DataFrame
print(df_sorted)
team points
4 Hawks 115
2 Lakers 99
0 Mavs 120
3 Nuggets 104
1 Spurs 108
Notez que les lignes sont désormais triées par nom d’équipe de A à Z.
On pourrait aussi trier de Z vers A :
#sort by team name Z to A
df_sorted = df.sort_values('team', ascending=False)
#view sorted DataFrame
print(df_sorted)
team points
1 Spurs 108
3 Nuggets 104
0 Mavs 120
2 Lakers 99
4 Hawks 115
Et nous pourrions également utiliser la fonction reset_index() pour réinitialiser les valeurs d’index dans le DataFrame trié :
#sort by team name A to Z and reset index
df_sorted = df.sort_values('team').reset_index(drop=True)
#view sorted DataFrame
print(df_sorted)
team points
0 Hawks 115
1 Lakers 99
2 Mavs 120
3 Nuggets 104
4 Spurs 108
Exemple 2 : trier par plusieurs colonnes par ordre alphabétique
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'conference': ['West', 'West', 'West', 'East', 'East'],
'team': ['Mavs', 'Spurs', 'Lakers', 'Heat', 'Hawks'],
'points': [120, 108, 99, 104, 115]})
#view DataFrame
print(df)
conference team points
0 West Mavs 120
1 West Spurs 108
2 West Lakers 99
3 East Heat 104
4 East Hawks 115
On peut utiliser la syntaxe suivante pour trier les lignes du DataFrame par nom de conférence de A à Z, puis par nom d’équipe de Z à A :
#sort by conference name A to Z, then by team name Z to A
df_sorted = df.sort_values(['conference', 'team'], ascending=(True, False))
#view sorted DataFrame
print(df_sorted)
conference team points
3 East Heat 104
4 East Hawks 115
1 West Spurs 108
0 West Mavs 120
2 West Lakers 99
Les lignes sont triées par nom de conférence de A à Z, puis par nom d’équipe de Z à A.
Remarque : Vous pouvez trouver la documentation complète de la fonction pandas sort_values() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Pandas : comment trier par date
Pandas : comment trier les colonnes par nom
Pandas : comment trier à la fois par index et par colonne