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