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