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

yipeiwu_com5年前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进程间通信之共享内存详解

前一篇博客说了怎样通过命名管道实现进程间通信,但是要在windows是使用命名管道,需要使用python调研windows api,太麻烦,于是想到是不是可以通过共享内存的方式来实现。查...

Python实现生成随机数据插入mysql数据库的方法

Python实现生成随机数据插入mysql数据库的方法

本文实例讲述了Python实现生成随机数据插入mysql数据库的方法。分享给大家供大家参考,具体如下: 运行结果: 实现代码: import random as r import...

Python set常用操作函数集锦

定义 set是一个无序且不重复的元素集合。 集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(...

Python可变参数会自动填充前面的默认同名参数实例

最近在学习Python的时候遇到一个知识点,在此记录下来 可变参数会自动填充前面的同名默认参数 比如下面这个函数 def add_student(name="Bob", **info...

django 解决manage.py migrate无效的问题

问题描述: 已有的model,修改之后,想重新建模,于是将migrations文件夹中除__init__.py之外其他文件都删掉,再次执行以下步骤python manage.py mak...