Comment supprimer la colonne d’index dans Pandas (avec exemples)



Parfois, vous souhaiterez peut-être supprimer la colonne d’index d’un DataFrame pandas en Python.

Étant donné que les pandas DataFrames et Series ont toujours un index, vous ne pouvez pas réellement supprimer l’index, mais vous pouvez le réinitialiser en utilisant le morceau de code suivant :

df.reset_index(drop=True, inplace=True)

Par exemple, supposons que nous ayons le DataFrame pandas suivant avec un index de lettres :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#set index of DataFrame to be random letters
df = df.set_index([pd.Index(['a', 'b', 'd', 'g', 'h', 'm', 'n', 'z'])])

#display DataFrame
df

        points	assists	 rebounds
a	25	5	 11
b	12	7	 8
d	15	7	 10
g	14	9	 6
h	19	12	 6
m	23	9	 5
n	25	9	 9
z	29	4	 12

Nous pouvons utiliser la fonction reset_index() pour réinitialiser l’index afin qu’il soit une liste séquentielle de nombres :

#reset index
df.reset_index(drop=True, inplace=True)

#display 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
5	23	9	 5
6	25	9	 9
7	29	4	 12

Notez que l’index est désormais une liste de nombres allant de 0 à 7.

Comme mentionné précédemment, l’index n’est pas réellement une colonne. Ainsi, lorsque l’on utilise la commande shape , on constate que le DataFrame comporte 8 lignes et 3 colonnes (au lieu de 4 colonnes) :

#find number of rows and columns in DataFrame
df.shape

(8, 3)

Bonus : supprimez l’index lors de l’importation et de l’exportation

Souvent, vous souhaiterez peut-être réinitialiser l’index d’un DataFrame pandas après l’avoir lu à partir d’un fichier CSV. Vous pouvez rapidement réinitialiser l’index lors de son importation en utilisant le morceau de code suivant :

df = pd.read_csv('data.csv', index_col=False) 

Et vous pouvez vous assurer qu’une colonne d’index n’est pas écrite dans un fichier CSV lors de l’exportation en utilisant le morceau de code suivant :

df.to_csv('data.csv', index=False) 

Ressources additionnelles

Comment définir la colonne comme index dans Pandas
Comment supprimer des lignes avec des valeurs NaN dans Pandas
Comment trier les valeurs dans un DataFrame Pandas

Ajouter un commentaire

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