尽管我们可以将所有的NaN替换成0,但是由于并不知道这些值的意义,所以这样做是个下策
尽管我们可以将所有的NaN替换成0,但是由于并不知道这些值的意义,所以这样做是个下策。如果它们是开氏温度,那么将它们置成0这种处理策略就太差劲了。
下面我们用平均值来代替缺失值,平均值根据那些非NaN得到。
from numpy import *
datMat = mat([[1,2,3],[4,Nan,6]])
numFeat = shape(datMat)[1]
for i in range(numFeat):
meanVal = mean(datMat[nonzero(~isnan(datMat[:,i].A))[0],i])
#values that are not NaN (a number)
datMat[nonzero(isnan(datMat[:,i].A))[0],i] = meanVal
#set NaN values to mean
以上这篇numpy 对矩阵中Nan的处理:采用平均值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
numpy 矩阵 Nan 平均值