Pandas : comment trier les résultats de value_counts()



Vous pouvez utiliser la fonction value_counts() dans pandas pour compter les occurrences de valeurs dans une colonne donnée d’un DataFrame.

Vous pouvez utiliser l’une des méthodes suivantes pour trier les résultats de la fonction value_counts() :

Méthode 1 : trier les comptes par ordre décroissant (par défaut)

df.my_column.value_counts() 

Méthode 2 : trier les comptes par ordre croissant

df.my_column.value_counts().sort_values()

Méthode 3 : trier les décomptes dans l’ordre dans lequel ils apparaissent dans DataFrame

df.my_column.value_counts()[df.my_column.unique()]

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'],
                   'points': [15, 12, 18, 20, 22, 28, 35, 40]})

#view DataFrame
print(df)

  team  points
0    A      15
1    A      12
2    B      18
3    B      20
4    B      22
5    B      28
6    B      35
7    C      40

Exemple 1 : Trier les comptes par ordre décroissant

Le code suivant montre comment compter les occurrences de chaque valeur unique dans la colonne d’équipe et trier les nombres par ordre décroissant :

#count occurrences of each value in team column and sort in descending order
df.team.value_counts()

B    5
A    2
C    1
Name: team, dtype: int64

Notez que les décomptes sont triés par ordre décroissant par défaut.

Exemple 2 : Trier les comptes par ordre croissant

Le code suivant montre comment compter les occurrences de chaque valeur unique dans la colonne d’équipe et trier les nombres par ordre croissant :

#count occurrences of each value in team column and sort in ascending order
df.team.value_counts().sort_values()

C    1
A    2
B    5
Name: team, dtype: int64

Notez que les comptes sont désormais triés par ordre croissant, c’est-à-dire du plus petit au plus grand.

Exemple 3 : Trier les comptes dans l’ordre dans lequel ils apparaissent dans DataFrame

Le code suivant montre comment compter les occurrences de chaque valeur unique dans la colonne d’équipe et trier les nombres dans l’ordre dans lequel les valeurs uniques apparaissent dans le DataFrame :

#count occurrences of each value in team column and sort in order they appear
df.team.value_counts()[df.team.unique()]

A    2
B    5
C    1
Name: team, dtype: int64

Notez que les décomptes sont désormais triés en fonction de l’ordre dans lequel les valeurs uniques apparaissent dans le DataFrame.

Par exemple, la valeur « A » apparaît en premier dans la colonne de l’équipe, puis « B » apparaît, puis « C ».

Il s’agit donc de l’ordre dans lequel les décomptes apparaissent dans la sortie.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Pandas : comment tracer les comptes de valeur
Pandas : Comment utiliser GroupBy et les décomptes de valeurs
Pandas : comment représenter value_counts en pourcentage

Ajouter un commentaire

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