Comment réinitialiser un index dans Pandas DataFrame (avec exemples)



Vous pouvez utiliser la syntaxe suivante pour réinitialiser un index dans un DataFrame pandas :

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

Notez les arguments suivants :

  • drop : spécifier True empêche les pandas d’enregistrer l’index d’origine en tant que colonne dans le DataFrame.
  • inplace : spécifier True permet aux pandas de remplacer l’index dans le DataFrame d’origine au lieu de créer une copie du DataFrame.

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

Exemple 1 : Réinitialiser l’index et supprimer l’ancien index

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#define 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]},
                   index=[0, 4, 3, 5, 2, 1, 7, 6])

#view DataFrame
print(df)

   points  assists  rebounds
0      25        5        11
4      12        7         8
3      15        7        10
5      14        9         6
2      19       12         6
1      23        9         5
7      25        9         9
6      29        4        12

Le code suivant montre comment réinitialiser l’index du DataFrame et supprimer complètement l’ancien index :

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

#view updated DataFrame
print(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 a été réinitialisé et que les valeurs de l’index vont désormais de 0 à 7.

Exemple 2 : réinitialiser l’index et conserver l’ancien index en tant que colonne

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#define 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]},
                   index=['A', 'C', 'D', 'B', 'E', 'G', 'F', 'H'])

#view DataFrame
print(df)

   points  assists  rebounds
A      25        5        11
C      12        7         8
D      15        7        10
B      14        9         6
E      19       12         6
G      23        9         5
F      25        9         9
H      29        4        12

Le code suivant montre comment réinitialiser l’index du DataFrame et conserver l’ancien index sous forme de colonne dans le DataFrame :

#reset index and retain old index as a column
df.reset_index(inplace=True)

#view updated DataFrame
print(df)

  index  points  assists  rebounds
0     A      25        5        11
1     C      12        7         8
2     D      15        7        10
3     B      14        9         6
4     E      19       12         6
5     G      23        9         5
6     F      25        9         9
7     H      29        4        12

Notez que l’index a été réinitialisé et que les valeurs de l’index vont désormais de 0 à 7.

Notez également que l’ancien index (avec les lettres) est conservé en tant que nouvelle colonne dans le DataFrame appelée « index ».

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

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

Ajouter un commentaire

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