Comment utiliser la fonction Pandas value_counts() (avec exemples)



Vous pouvez utiliser la fonction value_counts() pour compter la fréquence des valeurs uniques dans une série pandas.

Cette fonction utilise la syntaxe de base suivante :

my_series.value_counts()

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Fréquence de comptage des valeurs uniques

Le code suivant montre comment compter les occurrences de valeurs uniques dans une série pandas :

import pandas as pd

#create pandas Series
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9])

#count occurrences of unique values in Series
my_series.value_counts()

3    4
4    2
7    2
8    1
9    1
dtype: int64

Cela nous dit :

  • La valeur 3 apparaît 4 fois.
  • La valeur 4 apparaît 2 fois.
  • La valeur 7 apparaît 2 fois.

Et ainsi de suite.

Exemple 2 : fréquence de comptage des valeurs uniques (y compris les NaN)

Par défaut, la fonction value_counts() n’affiche pas la fréquence des valeurs NaN.

Cependant, vous pouvez utiliser l’argument dropna pour afficher la fréquence des valeurs NaN :

import pandas as pd
import numpy as np

#create pandas Series with some NaN values
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9, np.nan, np.nan])

#count occurrences of unique values in Series, including NaNs
my_series.value_counts(dropna=False)

3.0    4
4.0    2
7.0    2
NaN    2
8.0    1
9.0    1
dtype: int64

Exemple 3 : compter la fréquence relative des valeurs uniques

Le code suivant montre comment utiliser l’argument normalize pour compter la fréquence relative des valeurs uniques dans une série pandas :

import pandas as pd

#create pandas Series
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9])

#count occurrences of unique values in Series
my_series.value_counts(normalize=True)

3    0.4
4    0.2
7    0.2
8    0.1
9    0.1
dtype: float64

Cela nous dit :

  • La valeur 3 représente 40 % de toutes les valeurs de la série.
  • La valeur 4 représente 20 % de toutes les valeurs de la série.
  • La valeur 7 représente 20 % de toutes les valeurs de la série.

Et ainsi de suite.

Exemple 4 : Fréquence de comptage dans les bacs

Le code suivant montre comment utiliser l’argument bins pour compter la fréquence des valeurs d’une série pandas qui tombent dans des bacs de taille égale :

import pandas as pd

#create pandas Series
my_series = pd.Series([3, 3, 3, 3, 4, 4, 7, 7, 8, 9])

#count occurrences of unique values in Series
my_series.value_counts(bins=3)

(3.0, 5.0]       6
(5.0, 7.0]       2
(7.0, 9.0]       2
dtype: int64

Cela nous dit :

  • Il existe 6 valeurs comprises entre 3 et 5.
  • Il existe 2 valeurs comprises entre 5 et 7.
  • Il existe 2 valeurs comprises entre 7 et 9.

Exemple 5 : compter la fréquence des valeurs dans Pandas DataFrame

Nous pouvons également utiliser la fonction value_counts() pour calculer la fréquence des valeurs uniques dans une colonne spécifique d’un DataFrame pandas :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [9, 9, 9, 10, 10, 13, 15, 22],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})
#count occurrences of unique values in 'points' column
df['points'].value_counts()

9     3
10    2
13    1
15    1
22    1
Name: points, dtype: int64

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans les pandas :

Comment utiliser la fonction décrire() dans Pandas
Comment compter le nombre de lignes dans Pandas
Comment compter les observations par groupe chez les pandas

Ajouter un commentaire

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