Saltar al contenido

El método replace () no funciona en Pandas DataFrame

Nuestros investigadores estrellas agotaron sus provisiones de café, por su búsqueda noche y día por la respuesta, hasta que Jimena halló la respuesta en Gogs por lo tanto hoy la comparte contigo.

Solución:

Dado que este es el resultado principal de Google cuando se busca “El reemplazo de Pandas no funciona”, también me gustaría mencionar que:

replace realiza búsquedas de reemplazo completas, a menos que active el conmutador regex. Use regex=True, y también debería realizar reemplazos parciales.

Me tomó 30 minutos averiguarlo, así que espero haberle ahorrado 30 minutos a la siguiente persona.

Necesitas volver a asignar

df = df.replace('white', np.nan)

o pasar parámetro inplace=True:

In [50]:
d = 'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])
df = pd.DataFrame(d)
df.replace('white', np.nan, inplace=True)
df

Out[50]:
    color second_color  value
0     NaN          NaN    1.0
1    blue        black    2.0
2  orange         blue    3.0

La mayoría de las operaciones de pandas devuelven una copia y la mayoría tiene parámetros. inplace que por lo general está predeterminado False

cuando usas df.replace() crea un nuevo objeto temporal, pero no modifica el tuyo. Puede usar una de las dos líneas siguientes para modificar df:

df = df.replace('white', np.nan)
df.replace('white', np.nan, inplace = True)

Comentarios y valoraciones de la guía

Nos puedes sustentar nuestro ensayo escribiendo un comentario o valorándolo te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *