@bogatron tiene razón, puede usarlo where
, vale la pena señalar que puede hacer esto de forma nativa en pandas:
df1 = df.where(pd.notnull(df), None)
Nota: esto cambia el dtype de todas las columnas a object
.
Ejemplo:
In [1]: df = pd.DataFrame([1, np.nan])
In [2]: df
Out[2]:
0
0 1
1 NaN
In [3]: df1 = df.where(pd.notnull(df), None)
In [4]: df1
Out[4]:
0
0 1
1 None
Nota: lo que no puede hacer es refundir los DataFrames dtype
para permitir todos los tipos de tipos de datos, usando astype
, y luego el fillna
método DataFrame :
df1 = df.astype(object).replace(np.nan, 'None')
Desafortunadamente, ni esto, ni el uso replace
, funcionan con None
ver este problema (cerrado) .
Como acotación al margen, vale la pena señalar que para la mayoría de los casos de uso no es necesario reemplazar NaN con None, consulte esta pregunta sobre la diferencia entre NaN y None en pandas .
Sin embargo, en este caso específico parece que sí (al menos en el momento de esta respuesta).
None
enNULL
lugar denan
?