如何处理数据中的缺失值?
删除 | 如果每列或者行数据缺失值达到一定的比例,建议放弃整行或者整列 |
插补 | 可以通过缺失值每行或者每列的平均值、中位数来填充 |
sklearn缺失值API: sklearn.preprocessing.Imputer
Imputer语法:
Imputer流程:
关于np.nan(np.NaN):
1、 numpy的数组中可以使用np.nan/np.NaN来代替缺失值,属于float类型
2、如果是文件中的一些缺失值,可以替换成nan,通过np.array转化成float型的数组即可
# coding=utf-8
_author_ = 'liuzc'
from sklearn.preprocessing import Imputer
import numpy as np
def im():
"""
缺失值处理
:return:NOne
"""
# NaN, nan
im = Imputer(missing_values='NaN', strategy='mean', axis=0)
data = im.fit_transform([[1, 2], [np.nan, 3], [7, 6]])
print(data)
return None
if __name__ == "__main__":
im()
结果:
[[ 1. 2.]
[ 4. 3.]
[ 7. 6.]]