处理方式

1.删除:如果某一行或者某一列缺失值所占比重过大,那么可以删除此行或者此列。
2.插补:通过每行或者每列的平均值、中位数,对空值进行填充。
通常我们使用插补法,按照每列特征的平均值或者中位数进行填充。

代码实现

import numpy as np
from sklearn.impute import SimpleImputer
# 老版本的sklearn需要引用如下API
# import sklearn.preprocessing.Imputer

def im():
    """
    使用SimpleImputer填充空值,或者使用pandas的fillna
    :return:
    """
    # 空值类型是np.nan,填充规则为平均值
    sim = SimpleImputer(missing_values=np.nan, strategy='mean')
    data = sim.fit_transform([[1, 2],
                       [np.nan, 3],
                       [7, 6]]
                      )
    print(data)
    # pandas的fillna填充,此时空值必须是np.nan类型
    # x['age'].fillna(x['age'].mean(), inplace=True)
    return None


if __name__ == '__main__':
    im()
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐