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

yipeiwu_com6年前Python基础

尽管我们可以将所有的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的处理:采用平均值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python多进程实现文件下载传输功能

本文实例为大家分享了python多进程实现文件下载传输功能的具体代码,供大家参考,具体内容如下 需求: 实现文件夹拷贝功能(包括文件内的文件),并打印拷贝进度 模块: os模块 mu...

tensorflow 获取所有variable或tensor的name示例

获取所有variable(每个op中可训练的张量)的name: for variable_name in tf.global_variables(): print(variabl...

Python中属性和描述符的正确使用

关于@property装饰器 在Python中我们使用@property装饰器来把对函数的调用伪装成对属性的访问。 那么为什么要这样做呢?因为@property让我们将自定义的代码同变量...

对Python发送带header的http请求方法详解

简单的header import urllib2 request = urllib2.Request('http://example.com/') request.add_he...

python中 * 的用法详解

1、表示乘号 2、表示倍数,例如: def T(msg,time=1): print((msg+' ')*time) T('hi',3) 打印结果(打印3次): hi h...