Pandas : comment remplacer plusieurs valeurs dans une colonne



Vous pouvez utiliser la syntaxe de base suivante pour remplacer plusieurs valeurs dans une colonne d’un DataFrame pandas :

df = df.replace({'my_column' : {'old1' : 'new1', 'old2' : 'new2', 'old3' : 'new3'}})

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

Exemple : remplacer plusieurs valeurs dans une colonne dans Pandas

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({'position': ['G', 'G', 'F', 'F', 'F', 'C', 'C'],
                   'points': [28, 17, 19, 14, 23, 26, 5],
                   'rebounds': [5, 6, 4, 7, 14, 12, 9],
                   'assists': [10, 13, 7, 8, 4, 5, 8]})

#view DataFrame
print(df)

  position  points  rebounds  assists
0        G      28         5       10
1        G      17         6       13
2        F      19         4        7
3        F      14         7        8
4        F      23        14        4
5        C      26        12        5
6        C       5         9        8

Supposons que nous souhaitions effectuer les remplacements suivants dans la colonne position :

  • Remplacez « G » par « Garde »
  • Remplacez « F » par « Forward »
  • Remplacez C par « Centre »

Nous pouvons utiliser la syntaxe suivante pour ce faire :

#replace multiple values in position column
df = df.replace({'position' : {'G' : 'Guard', 'F' : 'Forward', 'C' : 'Center'}})

#view updated DataFrame
print(df)

  position  points  rebounds  assists
0    Guard      28         5       10
1    Guard      17         6       13
2  Forward      19         4        7
3  Forward      14         7        8
4  Forward      23        14        4
5   Center      26        12        5
6   Center       5         9        8

Notez que plusieurs valeurs ont été remplacées dans la colonne position .

Nous pouvons utiliser une syntaxe similaire pour remplacer plusieurs valeurs dans une colonne numérique.

Par exemple, le code suivant montre comment effectuer les remplacements suivants dans la colonne des assistances :

  • Remplacer 10 par 20
  • Remplacer 13 par 15
  • Remplacer 8 par 10

Nous pouvons utiliser la syntaxe suivante pour ce faire :

#replace multiple values in assists column
df = df.replace({'assists' : {10:20, 13:15, 8:10}})

#view updated DataFrame
print(df)

  position  points  rebounds  assists
0        G      28         5       20
1        G      17         6       15
2        F      19         4        7
3        F      14         7       10
4        F      23        14        4
5        C      26        12        5
6        C       5         9       10

Notez que plusieurs valeurs ont été remplacées dans la colonne des assistances .

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 *