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

yipeiwu_com7年前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设计】。

相关文章

对Python3使运行暂停的方法详解

对Python3使运行暂停的方法详解

在Python3中已经有很大一部分语句与Python2不互通了,运行暂停的方法也有所不同。 1、input(); 这种方法不用包含模块,因此这也是最常用的一种暂停手段。 Python2中...

pandas 对series和dataframe进行排序的实例

本问主要写根据索引或者值对series和dataframe进行排序的实例讲解 代码: #coding=utf-8 import pandas as pd import numpy a...

运用TensorFlow进行简单实现线性回归、梯度下降示例

运用TensorFlow进行简单实现线性回归、梯度下降示例

线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测试这个函数训练的好不好(即此函数是否足够拟合训练集数据),挑选出最好的函数...

Python random模块用法解析及简单示例

Python random模块用法解析及简单示例

用法示例: import random # 1)随机小数 print(random.random()) # 获取大于0且小于1 之间的小数 random.random() prin...

Django admin禁用编辑链接和添加删除操作详解

禁用admin中models的编辑链接和添加删除按钮 方法如下: class MyModelAdmin(models.ModelAdmin): ... List_display_...