Python矩阵中的nan值如何去除?Python怎么处理矩阵内的缺失值

矩阵也是python第三方库numpy可以构建出来的一种数据类型,而缺失值不是指矩阵中某个位置的值没有了,而是在这个位置上的值是空值或者是nan这种不被识别的数字 。所以这篇文章要来给大家分享的内容就是python处理矩阵中的缺失值,和小编一起往下看看吧 。

Python矩阵中的nan值如何去除?Python怎么处理矩阵内的缺失值

文章插图
1.在没有从外部导入数据的情况下就需要使用mat()方法来手动的构建出一个矩阵结构作为测试功能的数据了,代码示例如下所示:
from numpy import *datMat = mat([[1,2,3],[4,Nan,6]])2.矩阵数据结构创建好之后还需要使用shape()方法来对矩阵中包含了nan这种缺失值的数组进行元素数量检查判断,shape()方法的作用就是返回一个数组中数组数量以及它们的元素数量,示例如下:
numFeat = shape(datMat)[1]3.获得这个值的目的是为了作为for循环中range()函数生成列表的参数,在每次循环迭代之中都需要先去除掉矩阵之中的nan值 。然后将矩阵的相邻元素进行相加得到一个总值 。在使用这个总值调用mean()方法求取出平均值,而这个平均值就是作为填补矩阵缺失值所用 。
最后将原矩阵展开变成数组结构并且去除调用其中的nan缺失值,然后使用刚刚求取出来的平均值作为近似值填补到缺失值所在的位置,再转为矩阵类型即可,示例如下:
【Python矩阵中的nan值如何去除?Python怎么处理矩阵内的缺失值】for i in range(numFeat):  meanVal = mean(datMat[nonzero(~isnan(datMat[:,i].A))[0],i])   datMat[nonzero(isnan(datMat[:,i].A))[0],i] = meanVal以上就是关于“Python矩阵中的nan值如何去除?Python怎么处理矩阵内的缺失值”的全部内容了,希望对你有所帮助 。

    推荐阅读