Pandas DataFrame DataFrame.replace() Fonction

Suraj Joshi 30 janvier 2023
  1. Syntaxe de pandas.DataFrame.replace() :
  2. Exemples de codes : Remplacer les valeurs dans le DataFrame en utilisant pandas.DataFrame.replace()
  3. Exemples de codes : Remplacer les valeurs multiples dans la DataFrame en utilisant pandas.DataFrame.replace()
Pandas DataFrame DataFrame.replace() Fonction

pandas.DataFrame.replace() remplace les valeurs dans DataFrame par d’autres valeurs, qui peuvent être une chaîne de caractères, une regex, une liste, un dictionnaire, une Series, ou un nombre.

Syntaxe de pandas.DataFrame.replace() :

DataFrame.replace(,
                  to_replace=None,
                  value=None,
                  inplace=False,
                  limit=None,
                  regex=False,
                  method='pad')

Paramètres

to_replace chaîne, regex, liste, dictionnaire, série, numérique, ou None. Valeurs dans le DataFrame qui doivent être remplacées
value scalaire, dict, list, string, regex, ou None. Valeur pour remplacer toutes les valeurs correspondant à_replace par
inplace Booléen. Si True, modifiez l’appelant DataFrame.
limit Entier. Taille maximale de l’espace à remplir en avant ou en arrière
regex Booléen. Mettez regex à True si to_replace et/ou value est une regex
method Méthode utilisée pour le remplacement

Renvoie

Il retourne un DataFrame remplaçant tous les champs spécifiés par une value donnée.

Exemples de codes : Remplacer les valeurs dans le DataFrame en utilisant pandas.DataFrame.replace()

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace(1, 5)
print("After Replacement")
print(replaced_df)

Production:

Before Replacement
   X  Y
0  1  4
1  2  1
2  3  8
After Replacement
   X  Y
0  5  4
1  2  5
2  3  8

Ici, 1 représente le paramètre to_replace et 5 représente le paramètre value dans la méthode replace(). Par conséquent, toutes les entrées avec la valeur 1 sont remplacées par 5 dans le df.

Exemples de codes : Remplacer les valeurs multiples dans la DataFrame en utilisant pandas.DataFrame.replace()

Remplacer l’utilisation des listes

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace([1,2,3],[1,4,9])
print("After Replacement")
print(replaced_df)

Production:

Before Replacement
   X  Y
0  1  4
1  2  1
2  3  8
After Replacement
   X  Y
0  1  4
1  4  1
2  9  8

Ici, [1,2,3] représente le paramètre to_replace et [1,4,9] représente le paramètre value dans la méthode replace(). Par conséquent, la colonne [1,2,3] est remplacée par [1,4,9] dans le df.

Remplacer en utilisant des dictionnaires

import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [3, 1, 8]})
print("Before Replacement")
print(df)  
replaced_df=df.replace({1:10,3:30})
print("After Replacement")
print(replaced_df)

Production:

Before Replacement
   X  Y
0  1  3
1  2  1
2  3  8
After Replacement
    X   Y
0  10  30
1   2  10
2  30   8

Il remplace tous les éléments de valeur 1 par 10 et tous les éléments de valeur 3 par 30.

Remplacer en utilisant Regex

import pandas as pd
df = pd.DataFrame({'X': ["zeppy", "amid", "amily"],
                   'Y': ["xar", "abc", "among"]})
print("Before Replacement")
print(df)  
df.replace(to_replace=r'^ami.$', value='song', regex=True,inplace=True)
print("After Replacement")
print(df)

Production:

Before Replacement
       X      Y
0  zeppy    xar
1   amid    abc
2  amily  among
After Replacement
       X      Y
0  zeppy    xar
1   song    abc
2  amily  among

Il remplace tous les éléments par les trois premiers caractères ami suivis d’un caractère quelconque song. Ici, seul amid satisfait à la regex donnée et donc seul amid est remplacé par song. Bien que amily ait aussi ses trois premiers caractères ami mais il y a deux caractères après ami. Donc, amily ne satisfait pas la regex donnée et donc il reste le même et n’est pas remplacé. Si vous utilisez une regex, assurez-vous que regex est positionnée à True et que inplace=True modifie la DataFrame originale après avoir appelé la méthode replace() dessus.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Pandas DataFrame