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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *