Pandas DataFrame DataFrame.replace() Función

Suraj Joshi 30 enero 2023
  1. La sintaxis de pandas.DataFrame.replace():
  2. Códigos de ejemplo: Reemplaza los valores en el DataFrame usando pandas.DataFrame.replace()
  3. Códigos de ejemplo: Reemplazar múltiples valores en el DataFrame usando pandas.DataFrame.replace()
Pandas DataFrame DataFrame.replace() Función

La función pandas.DataFrame.replace() reemplaza los valores en el DataFrame con otros valores, que pueden ser string, regex, list, diccionario, Series, o un número.

La sintaxis de pandas.DataFrame.replace():

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

Parámetros

to_replace cadena, regex, lista, diccionario, serie, numérico o None. Los valores en el DataFrame que deben ser reemplazados
value scalar, dict, listar, string, regex, o ninguno. Valor para reemplazar cualquier valor que coincida con_reemplazar con
inplace Booleana. Si True modifica el llamador DataFrame
limit Entero. El tamaño máximo del hueco para rellenar hacia adelante o hacia atrás
regex Booleana. Ponga regex en True si to_replace y/o value es un regex.
method Método utilizado para la sustitución

Retorna

Devuelve un DataFrame reemplazando todos los campos especificados por un valor dado.

Códigos de ejemplo: Reemplaza los valores en el DataFrame usando 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)

Producción:

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

Aquí, 1 representa el parámetro to_replace y 5 representa el parámetro value en el método replace(). Por lo tanto, todas las entradas con el valor 1 son reemplazadas por 5 en el f.

Códigos de ejemplo: Reemplazar múltiples valores en el DataFrame usando pandas.DataFrame.replace()

Reemplazar las listas de uso

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)

Producción:

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

Aquí, [1,2,3] representa el parámetro to_replace y [1,4,9] representa el parámetro value en el método replace(). Por lo tanto, la columna [1,2,3] se sustituye por [1,4,9] en el df.

Reemplazar usando diccionarios

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)

Producción:

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

Reemplaza todos los elementos con valor 1 por 10 y todos los elementos con valor 3 por 30.

Reemplaza usando 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)

Producción:

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

Reemplaza todos los elementos con los tres primeros caracteres como ami, seguido de cualquier carácter con song. Aquí sólo amid satisface a regex y por lo tanto sólo amid es reemplazada por song. Aunque family también tiene sus tres primeros caracteres ami, pero hay dos caracteres después de ami. Así que, family no satisface la versión dada y por lo tanto sigue siendo la misma y no se reemplaza. Si estás usando regex, asegúrate de que regex esté en True y inplace=True modifica el DataFrame original después de llamar al método replace() en él.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artículo relacionado - Pandas DataFrame