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