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.