python中nan与inf转为特定数字方法示例
时间:2022-05-14 10:01:05|栏目: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代码
下一篇:对Pycharm创建py文件时自定义头部模板的方法详解
本文地址:http://www.codeinn.net/misctech/201883.html