Comment compter les valeurs uniques chez les pandas : avec des exemples
Vous pouvez utiliser la fonction nunique() pour compter le nombre de valeurs uniques dans un DataFrame pandas.
Cette fonction utilise la syntaxe de base suivante :
#count unique values in each column df.nunique() #count unique values in each row df.nunique(axis=1)
Les exemples suivants montrent comment utiliser cette fonction en pratique avec le DataFrame pandas suivant :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'points': [8, 8, 13, 13, 22, 22, 25, 29],
                   'assists': [5, 8, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 11, 6, 6, 5, 9, 12]})
#view DataFrame
df
	team	points	assists	rebounds
0	A	8	5	11
1	A	8	8	8
2	A	13	7	11
3	A	13	9	6
4	B	22	12	6
5	B	22	9	5
6	B	25	9	9
7	B	29	4	12
Exemple 1 : Compter les valeurs uniques dans chaque colonne
Le code suivant montre comment compter le nombre de valeurs uniques dans chaque colonne d’un DataFrame :
#count unique values in each column
df.nunique()
team        2
points      5
assists     5
rebounds    6
dtype: int64
À partir du résultat, nous pouvons voir :
- La colonne « équipe » a 2 valeurs uniques
 - La colonne « points » a 5 valeurs uniques
 - La colonne « assistances » a 5 valeurs uniques
 - La colonne ‘rebonds’ a 6 valeurs uniques
 
Exemple 2 : Compter les valeurs uniques dans chaque ligne
Le code suivant montre comment compter le nombre de valeurs uniques dans chaque ligne d’un DataFrame :
#count unique values in each row
df.nunique(axis=1)
0    4
1    2
2    4
3    4
4    4
5    4
6    3
7    4
dtype: int64
À partir du résultat, nous pouvons voir :
- La première ligne a 4 valeurs uniques
 - La deuxième ligne a 2 valeurs uniques
 - La troisième ligne a 4 valeurs uniques
 
Et ainsi de suite.
Exemple 3 : Compter les valeurs uniques par groupe
Le code suivant montre comment compter le nombre de valeurs uniques par groupe dans un DataFrame :
#count unique 'points' values, grouped by team
df.groupby('team')['points'].nunique()
team
A    2
B    3
Name: points, dtype: int64
À partir du résultat, nous pouvons voir :
- L’équipe « A » a 2 valeurs de « points » uniques
 - L’équipe « B » a 3 valeurs de « points » uniques
 
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
 Comment compter les observations par groupe chez les pandas
 Comment compter les valeurs manquantes chez les pandas
 Comment utiliser la fonction Pandas value_counts()
