python中nan与inf转为特定数字方法示例

yipeiwu_com6年前Python基础

前言

最近因为工作的需求,要处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work;查看得到的数据,发现有很多nan和inf,导致Python的基本函数运行不了,这是因为在除的过程中分母出现0的缘故。为了将结果能够被python其他函数处理,尤其numpy库,需要将nan,inf转为python所能识别的类型。

这里将nan,inf替换0作为例子。下面来看看详细的介绍:

1. 代码

import numpy as np 
a = np.array([[np.nan, np.nan, 1, 2], [np.inf, np.inf, 3, 4], [1, 1, 1, 1], [2, 2, 2, 2]]) 
print a 
where_are_nan = np.isnan(a) 
where_are_inf = np.isinf(a) 
a[where_are_nan] = 0 
a[where_are_inf] = 0 
print a 
print np.mean(a) 

2. 运行结果

[[ nan nan 1. 2.] 
 [ inf inf 3. 4.] 
 [ 1. 1. 1. 1.] 
 [ 2. 2. 2. 2.]] 
[[ 0. 0. 1. 2.] 
 [ 0. 0. 3. 4.] 
 [ 1. 1. 1. 1.] 
 [ 2. 2. 2. 2.]] 
1.375 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python matlibplot绘制多条曲线图

python matlibplot绘制多条曲线图

这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy...

python3使用print打印带颜色的字符串代码实例

一、实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制...

numpy linalg模块的具体使用方法

最近在看机器学习的 LogisticRegressor,BayesianLogisticRegressor算法,里面得到一阶导数矩阵g和二阶导数Hessian矩阵H的时候,用到...

python使用三角迭代计算圆周率PI的方法

本文实例讲述了python使用三角迭代计算圆周率PI的方法。分享给大家供大家参考。具体如下: 方法1: 复制代码 代码如下:# Calculating PI using trigonom...

Python统计列表中的重复项出现的次数的方法

本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴。具体方法如下: 对一个列表,比如[1,2,2,2,2,3,3,3,4,4...