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()

Ajouter un commentaire

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