平均值填充
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
df[['weight']] = imputer.fit_transform(df[['weight']])
df
imputer.statistics_
常数填充
imputer = SimpleImputer(missing_values=np.nan, strategy='constant', fill_value = 99.0)
imputer.statistics_
most_frequent填充
imputer = SimpleImputer(missing_values=np.nan, strategy='most_frequent')
根据类型筛选
df[~df['weight'].isnull()].select_dtypes(include=['float'])
多列填充
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy="constant", fill_value="empty")
columns = df.select_dtypes(include=['object']).columns
columns
imputer.fit_transform(df[columns])
df.loc[:, columns] = imputer.fit_transform(df[columns])
df