Pandas : Comment ajouter une nouvelle colonne avec des numéros de ligne



Il existe deux façons d’ajouter une nouvelle colonne contenant des numéros de ligne dans un DataFrame pandas :

Méthode 1 : utilisez assign()

df = df.assign(row_number=range(len(df)))

Méthode 2 : utilisez reset_index()

df['row_number'] = df.reset_index().index

Les deux méthodes produisent le même résultat.

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [5, 17, 7, 19, 12, 13, 9, 24],
                   'assists': [4, 7, 7, 6, 8, 7, 10, 11]})

#view DataFrame
print(df)

  team  points  assists
0    A       5        4
1    B      17        7
2    C       7        7
3    D      19        6
4    E      12        8
5    F      13        7
6    G       9       10
7    H      24       11

Exemple 1 : utilisez assign() pour ajouter une colonne de numéro de ligne

Le code suivant montre comment utiliser la fonction assign() pour ajouter une nouvelle colonne appelée row_number qui affiche le numéro de ligne de chaque ligne du DataFrame :

#add column that contains row numbers
df = df.assign(row_number=range(len(df)))

#view updated DataFrame
print(df)

  team  points  assists  row_number
0    A       5        4           0
1    B      17        7           1
2    C       7        7           2
3    D      19        6           3
4    E      12        8           4
5    F      13        7           5
6    G       9       10           6
7    H      24       11           7

Notez que les valeurs de la colonne row_number vont de 0 à 7.

Exemple 2 : utilisez reset_index() pour ajouter une colonne de numéro de ligne

Le code suivant montre comment utiliser la fonction reset_index() pour ajouter une nouvelle colonne appelée row_number qui affiche le numéro de ligne de chaque ligne du DataFrame :

#add column that contains row numbers
df['row_number'] = df.reset_index().index

#view updated DataFrame
print(df)

  team  points  assists  row_number
0    A       5        4           0
1    B      17        7           1
2    C       7        7           2
3    D      19        6           3
4    E      12        8           4
5    F      13        7           5
6    G       9       10           6
7    H      24       11           7

Notez que les valeurs de la colonne row_number vont de 0 à 7.

Cela correspond aux résultats de l’exemple précédent.

Ressources additionnelles

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

Pandas : comment trouver la différence entre deux colonnes
Pandas : comment trouver la différence entre deux lignes
Pandas : comment soustraire deux colonnes

Ajouter un commentaire

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