Pandas : Comment obtenir des valeurs uniques à partir de la colonne d’index



Vous pouvez utiliser les méthodes suivantes pour obtenir les valeurs uniques de la colonne d’index d’un DataFrame pandas :

Méthode 1 : obtenir des valeurs uniques à partir de la colonne d’index

df.index.unique()

Méthode 2 : obtenir des valeurs uniques à partir d’une colonne spécifique dans MultiIndex

df.index.unique('some_column')

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

Exemple 1 : obtenir des valeurs uniques à partir de la colonne d’index

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, 22, 19, 14, 14, 11, 20, 28],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4]},
                   index = [0, 1, 1, 1, 2, 2, 3, 4])

#view DataFrame
print(df)

  team  points  assists
0    A      18        5
1    B      22        7
1    C      19        7
1    D      14        9
2    E      14       12
2    F      11        9
3    G      20        9
4    H      28        4

Nous pouvons utiliser la syntaxe suivante pour obtenir les valeurs uniques de la colonne d’index du DataFrame :

#get unique values from index column 
df.index.unique()

Int64Index([0, 1, 2, 3, 4], dtype='int64')

La sortie affiche chacune des valeurs uniques de la colonne d’index.

Nous pouvons également utiliser la fonction len() pour compter le nombre de valeurs uniques dans la colonne d’index :

#count number of unique values in index column 
len(df.index.unique())

5

Nous pouvons voir qu’il y a 5 valeurs uniques dans la colonne index du DataFrame.

Exemple 2 : obtenir des valeurs uniques à partir d’une colonne spécifique dans MultiIndex

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd
#define index values
index_names = pd.MultiIndex.from_tuples([('West', 'A'),
                                         ('West', 'A'),
                                         ('West', 'B'),
                                         ('East', 'C'),
                                         ('East', 'C'),
                                         ('East', 'D')],
                                       names=['Division', 'Team'])

#define data values
data = {'Sales': [12, 44, 29, 35, 44, 19]}

#create DataFrame
df = pd.DataFrame(data, index=index_names)

#view DataFrame
print(df)

               Sales
Division Team       
West     A        12
         A        44
         B        29
East     C        35
         C        44
         D        19

Notez que ce DataFrame a un multiIndex.

Nous pouvons utiliser la syntaxe suivante pour obtenir les valeurs uniques de la seule colonne Team du multiIndex :

#get unique values from Team column in multiIndex
df.index.unique('Team')

Index(['A', 'B', 'C', 'D'], dtype='object', name='Team')

La sortie affiche les quatre valeurs uniques de la colonne Team du multiIndex : A, B, C et D.

Nous pouvons utiliser une syntaxe similaire pour extraire les valeurs uniques de la colonne Division du multiIndex :

#get unique values from Division column in multiIndex
df.index.unique('Division')

Index(['West', 'East'], dtype='object', name='Division')

La sortie affiche les deux valeurs uniques de la colonne Division du multiIndex : Ouest et Est.

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :

Comment convertir un index en colonne dans Pandas
Comment renommer l’index dans Pandas
Comment définir la colonne comme index dans Pandas

Ajouter un commentaire

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