====== 使用SimleImputer进行空值填充 ====== 缺失值填充主要采用SimpleImputer来完成,示例代码如下: # ############################################################# # File: 02-preprocess-08-SimpleImpute # Author: 郝金隆 # Date: 2019-12-04 # SimpleImpute: 基础的插值补充 # 主要内容: # 1. import语句 # 2. 加载示例数据 # 3. 基础用法 # 4. 与DataFrameMapper配合使用 # ############################################################# # 1. import语句 from sklearn.preprocessing import LabelBinarizer, OrdinalEncoder from sklearn.impute import SimpleImputer from sklearn_pandas import DataFrameMapper import numpy as np import pandas as pd # 2. 加载示例数据 df = pd.DataFrame({'pet': ['fish', 'dog', 'dog', 'fish', 'cat', 'dog', 'cat', 'fish', 'goose', 'null', '-1'], 'age': [1, 2, 4, np.NaN, 3, np.NaN, 3, 2, np.NaN, 2, 1] }) # 3. 与DataFrameMapper结合使用 mapper = DataFrameMapper([ (['pet'], [SimpleImputer(missing_values='null', fill_value='others', strategy='constant'), SimpleImputer(missing_values='-1', fill_value='others', strategy='constant') ]), # 连续替换 (['age'], [SimpleImputer(missing_values=np.NaN, strategy='mean')]), # 均值替换 (['age'], [SimpleImputer(missing_values=np.NaN, strategy='median')]) # 中位数替换 (['age'], [SimpleImputer(missing_values=np.NaN, strategy='most_frequent')]) # 最多数 ], df_out=True) mapper.fit_transform(df)