"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué mi marco de datos de Pandas no reemplaza los valores con `replace()`?

¿Por qué mi marco de datos de Pandas no reemplaza los valores con `replace()`?

Publicado el 2024-11-07
Navegar:288

Why Isn\'t My Pandas DataFrame Replacing Values with `replace()`?

¿Por qué el método replace() no reemplaza valores en My Pandas DataFrame?

A pesar de intentar reemplazar cadenas específicas con NaN de una manera simple DataFrame, el método replace() parece no ser efectivo. Por ejemplo:

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)

No se logra el resultado esperado, con los valores 'blancos' reemplazados por NaN. En cambio, el DataFrame permanece sin cambios.

Una solución: habilite reemplazos parciales con regex=True

De forma predeterminada, el método replace() realiza reemplazos completos de cadenas. Para habilitar reemplazos parciales, el parámetro regex debe establecerse en True. Este pequeño ajuste nos permite reemplazar cadenas específicas en cualquier lugar dentro del DataFrame:

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

Con esta modificación, el DataFrame reemplazará correctamente todas las instancias de 'blanco' con NaN.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3