Comment convertir un index en colonne dans Pandas (avec exemples)
Vous pouvez utiliser la syntaxe de base suivante pour convertir un index d’un DataFrame pandas en colonne :
#convert index to column df.reset_index(inplace=True)
Si vous disposez d’un DataFrame Pandas MultiIndex, vous pouvez utiliser la syntaxe suivante pour convertir un niveau spécifique de l’index en colonne :
#convert specific level of MultiIndex to column df.reset_index(inplace=True, level = ['Level1'])
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : convertir l’index en colonne
Le code suivant montre comment convertir un index d’un DataFrame pandas en colonne :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19], 'assists': [5, 7, 7, 9, 12], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 #convert index to column df.reset_index(inplace=True) #view updated DataFrame df index points assists rebounds 0 0 25 5 11 1 1 12 7 8 2 2 15 7 10 3 3 14 9 6 4 4 19 12 6
Exemple 2 : convertir un MultiIndex en colonnes
Supposons que nous ayons le DataFrame pandas MultiIndex suivant :
import pandas as pd #create DataFrame index_names = pd.MultiIndex.from_tuples([('Level1','Lev1', 'L1'), ('Level2','Lev2', 'L2'), ('Level3','Lev3', 'L3'), ('Level4','Lev4', 'L4')], names=['Full','Partial', 'ID']) data = {'Store': ['A','B','C','D'], 'Sales': [17, 22, 29, 35]} df = pd.DataFrame(data, columns = ['Store','Sales'], index=index_names) #view DataFrame df Store Sales Full Partial ID Level1 Lev1 L1 A 17 Level2 Lev2 L2 B 22 Level3 Lev3 L3 C 29 Level4 Lev4 L4 D 35
Le code suivant montre comment convertir chaque niveau du MultiIndex en colonnes dans un DataFrame pandas :
#convert all levels of index to columns df.reset_index(inplace=True) #view updated DataFrame df Full Partial ID Store Sales 0 Level1 Lev1 L1 A 17 1 Level2 Lev2 L2 B 22 2 Level3 Lev3 L3 C 29 3 Level4 Lev4 L4 D 35
Nous pourrions également utiliser le code suivant pour convertir uniquement un niveau spécifique du MultiIndex en colonne :
#convert just 'ID' index to column in DataFrame
df.reset_index(inplace=True, level = ['ID'])
#view updated DataFrame
df
ID Store Sales
Full Partial
Level1 Lev1 L1 A 17
Level2 Lev2 L2 B 22
Level3 Lev3 L3 C 29
Level4 Lev4 L4 D 35
Notez que seul le niveau « ID » a été converti en colonne dans le DataFrame.
Ressources additionnelles
Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :
Comment définir la colonne comme index dans Pandas
Comment supprimer des colonnes par index dans Pandas
Comment trier DataFrame par index et colonne dans Pandas