Pandas Reemplace NaN con una cadena en blanco/vacía
Tengo un Pandas Dataframe como se muestra a continuación:
1 2 3
0 a NaN read
1 b l unread
2 c NaN read
Quiero eliminar los valores NaN con una cadena vacía para que luzca así:
1 2 3
0 a "" read
1 b l unread
2 c "" read
Aceptado
df = df.fillna('')
Esto llenará los na (por ejemplo, NaN) con ''
.
inplace
Es posible, pero debe evitarse, ya que de todos modos hace una copia interna y quedará obsoleta :
df.fillna('', inplace=True)
Para llenar solo una columna:
df.column1 = df.column1.fillna('')
Se puede utilizar df['column1']
en lugar de df.column1
.
import numpy as np
df1 = df.replace(np.nan, '', regex=True)
Esto podría ayudar. Reemplazará todos los NaN con una cadena vacía.
Si está leyendo el marco de datos de un archivo (por ejemplo, CSV o Excel), utilice:
df.read_csv(path , na_filter=False)
df.read_excel(path , na_filter=False)
Esto considerará automáticamente los campos vacíos como cadenas vacías.''
Si ya tienes el marco de datos
df = df.replace(np.nan, '', regex=True)
df = df.fillna('')