Tengo un marco de datos de Pandas 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 de NaN con una cadena vacía para que se vea así:
1 2 3
0 a "" read
1 b l unread
2 c "" read
np.nan
viene? No puedo usarloimport numpy as np
.pd.np.nan
si no quieres hacerloimport numpy
también.pd.DataFrame.from_dict(eval(_string_))
... inplace=True
opción.o solo
Esto llenará de na (por ejemplo, NaN)
''
.Si desea llenar una sola columna, puede usar:
Uno puede usar en
df['column1']
lugar dedf.column1
.fuente
df[['column1','column2']] = df[['column1','column2']].fillna('')
Si está leyendo el marco de datos de un archivo (por ejemplo, CSV o Excel), use:
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 tiene el marco de datos
df = df.replace(np.nan, '', regex=True)
df = df.fillna('')
fuente
xl.parse('sheet_name', na_filter=False)
Utilice un formateador, si solo desea formatearlo para que se vea bien cuando se imprima . Solo use el
df.to_string(... formatters
para definir el formato de cadena personalizado, sin modificar innecesariamente su DataFrame o desperdiciar memoria:Llegar:
fuente
print df.fillna('')
por sí mismo (sin hacerdf = df.fillna('')
) tampoco modifica el original. ¿Hay una velocidad u otra ventaja de usarto_string
?df.fillna('')
lo es!Prueba esto,
añadir
inplace=True
fuente
usar
keep_default_na=False
debería ayudarte a:fuente
Si está convirtiendo trama de datos a JSON,
NaN
dará error para mejor solución es el uso en este caso es reemplazarNaN
conNone
.Aquí es cómo:
fuente
Intenté con una columna de valores de cadena con nan.
Para eliminar el nan y llenar la cadena vacía:
df.columnname.replace(np.nan,'',regex = True)
Para eliminar el nan y llenar algunos valores:
df.columnname.replace(np.nan,'value',regex = True)
Intenté df.iloc también. pero necesita el índice de la columna. así que debes mirar hacia la mesa nuevamente. simplemente el método anterior redujo un paso.
fuente