Comment remplacer des valeurs dans un DataFrame Pandas (avec exemples)



Souvent, vous souhaiterez peut-être remplacer les valeurs dans une ou plusieurs colonnes d’un DataFrame pandas.

Heureusement, cela est facile à faire en utilisant la fonction .replace() .

Ce tutoriel fournit plusieurs exemples d’utilisation pratique de cette fonction sur le DataFrame suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'],
                   'rebounds': [11, 8, 7, 6, 6, 5, 12]})

#view DataFrame
print(df)

  team division  rebounds
0    A        E        11
1    A        W         8
2    B        E         7
3    B        E         6
4    B        W         6
5    C        W         5
6    C        E        12

Exemple 1 : remplacer une valeur unique dans un DataFrame entier

Le code suivant montre comment remplacer une seule valeur dans un DataFrame pandas entier :

#replace 'E' with 'East'
df = df.replace(['E'],'East')

#view DataFrame
print(df)

  team division  rebounds
0    A     East        11
1    A        W         8
2    B     East         7
3    B     East         6
4    B        W         6
5    C        W         5
6    C     East        12

Exemple 2 : remplacer plusieurs valeurs dans un DataFrame entier

Le code suivant montre comment remplacer plusieurs valeurs dans un DataFrame pandas entier :

#replace 'E' with 'East' and 'W' with 'West'
df = df.replace(['E', 'W'],['East', 'West'])

#view DataFrame
print(df)

        team	division  rebounds
0	A	East	  11
1	A	West	  8
2	B	East	  7
3	B	East	  6
4	B	West	  6
5	C	West	  5
6	C	East	  12

Exemple 3 : remplacer une valeur unique dans une seule colonne

Le code suivant montre comment remplacer une seule valeur dans une seule colonne :

#replace 6 with 0 in rebounds column
df['rebounds'] = df['rebounds'].replace(6, 0)

#view DataFrame
print(df)

        team	division  rebounds
0	A	E	  11
1	A	W	  8
2	B	E	  7
3	B	E	  0
4	B	W	  0
5	C	W	  5
6	C	E	  12

Exemple 4 : remplacer plusieurs valeurs dans une seule colonne

Le code suivant montre comment remplacer plusieurs valeurs dans une seule colonne :

#replace 6, 11, and 8 with 0, 1 and 2 in rebounds column
df['rebounds'] = df['rebounds'].replace([6, 11, 8], [0, 1, 2])

#view DataFrame
print(df)

team	division	rebounds
0	A	E	1
1	A	W	2
2	B	E	7
3	B	E	0
4	B	W	0
5	C	W	5
6	C	E	12

Ressources additionnelles

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

Comment remplacer les valeurs NaN par des zéros dans Pandas
Comment remplacer les chaînes vides par NaN dans Pandas
Comment remplacer les valeurs dans la colonne en fonction de la condition dans Pandas

Ajouter un commentaire

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