首页 > 编程 > Python > 正文

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

2020-01-04 17:09:42
字体:
来源:转载
供稿:网友

前言

最近因为工作的需求,要处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work;查看得到的数据,发现有很多naninf,导致Python的基本函数运行不了,这是因为在除的过程中分母出现0的缘故。为了将结果能够被python/266922.html">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 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对VEVB武林网的支持。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表