I have table x
:
website
0 http://www.google.com/
1 http://www.yahoo.com
2 None
I want to replace python None with pa
The following line replaces None
with NaN
:
df['column'].replace('None', np.nan, inplace=True)
You can use DataFrame.fillna or Series.fillna which will replace the Python object None
, not the string 'None'
.
import pandas as pd
import numpy as np
For dataframe:
df = df.fillna(value=np.nan)
For column or series:
df.mycol.fillna(value=np.nan, inplace=True)
If you use df.replace([None], np.nan, inplace=True), this changed all datetime objects with missing data to object dtypes. So now you may have broken queries unless you change them back to datetime which can be taxing depending on the size of your data.
If you want to use this method, you can first identify the object dtype fields in your df and then replace the None:
obj_columns = list(df.select_dtypes(include=['object']).columns.values)
df[obj_columns] = df[obj_columns].replace([None], np.nan)
Here's another option:
df.replace(to_replace=[None], value=np.nan, inplace=True)
DataFrame['Col_name'].replace("None", np.nan, inplace=True)