Tengo mesa x
:
website
0 http://www.google.com/
1 http://www.yahoo.com
2 None
Quiero reemplazar Python None con pandas NaN. Lo intenté:
x.replace(to_replace=None, value=np.nan)
Pero tengo:
TypeError: 'regex' must be a string or a compiled regular expression or a list or dict of strings or regular expressions, you passed a 'bool'
¿Cómo debo hacerlo?
df['column'].replace(nan, "", inplace=True)
si dice que desea que None sea una cadena vacía.None
. La respuesta de Max funciona.df['website'].replace(pd.np.nan, 0, inplace=True)
. Tampoco requiere que se incluya Numpy, confiando en la referencia incorporada de Pandas.pd.np.nan
ahora daFutureWarning: The pandas.np module is deprecated and will be removed from pandas in a future version. Import numpy directly instead
.Aquí tienes otra opción:
df.replace(to_replace=[None], value=np.nan, inplace=True)
fuente
La siguiente línea se reemplaza
None
porNaN
:df['column'].replace('None', np.nan, inplace=True)
fuente
np.nan
, que tiene un dtype flotante (por ejemplo:)float64
, a diferencia del dtype predeterminado de pandasobject
para una columna nan.Si usa df.replace ([None], np.nan, inplace = True), esto cambió todos los objetos de fecha y hora con datos faltantes a tipos de objetos. Por lo tanto, es posible que tenga consultas interrumpidas a menos que las cambie a la fecha y hora, lo que puede ser agotador según el tamaño de sus datos.
Si desea utilizar este método, primero puede identificar los campos de tipo d del objeto en su df y luego reemplazar Ninguno:
obj_columns = list(df.select_dtypes(include=['object']).columns.values) df[obj_columns] = df[obj_columns].replace([None], np.nan)
fuente
DataFrame['Col_name'].replace("None", np.nan, inplace=True)
fuente