Pandas : Comment réindexer les lignes à partir de 1



Vous pouvez utiliser la syntaxe de base suivante pour réindexer les lignes d’un DataFrame pandas à partir de 1 au lieu de 0 :

import pandas as pd
import numpy as np

df.index = np.arange(1, len(df) + 1)

La fonction NumPy arange() crée un tableau commençant à 1 qui augmente par incréments de 1 jusqu’à la longueur de l’ensemble du DataFrame plus 1.

Ce tableau est ensuite utilisé comme index du DataFrame.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : réindexer les lignes du DataFrame Pandas à partir de 1

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

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],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})
                   
#view DataFrame
print(df)

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

Notez que l’index varie actuellement de 0 à 7.

Pour réindexer les valeurs de l’index vers la colonne pour qu’elles commencent à partir de 1, nous pouvons utiliser la syntaxe suivante :

import numpy as np

#reindex values in index to start from 1
df.index = np.arange(1, len(df) + 1)

#view updated DataFrame
print(df)

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

Notez que les valeurs de l’index commencent désormais à 1.

Remarque n°1 : L’avantage d’utiliser la fonction len() pour trouver le nombre de lignes dans le DataFrame est que nous n’avons pas besoin de savoir combien de lignes se trouvent dans le DataFrame avant de créer le nouveau tableau de valeurs d’index.

Remarque n°2 : Vous pouvez trouver la documentation complète de la fonction NumPy arange() ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment supprimer le nom de l’index dans Pandas
Comment aplatir MultiIndex dans Pandas
Comment obtenir des valeurs uniques de l’index dans Pandas

Ajouter un commentaire

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