欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

numpy 对矩阵中Nan的处理:采用平均值的方法

程序员文章站 2022-04-09 13:42:22
尽管我们可以将所有的nan替换成0,但是由于并不知道这些值的意义,所以这样做是个下策。如果它们是开氏温度,那么将它们置成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的处理:采用平均值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。