python中nan与inf转为特定数字方法示例
前言
最近因为工作的需求,要处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不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中Inf与Nan的判断问题详解
大家都知道 在Python 中可以用如下方式表示正负无穷: float("inf") # 正无穷 float("-inf") # 负无穷 利用 inf(infinite) 乘以 0 会得到 not-a-number(NaN) .如果一个数超出 infinite,那就是一个 NaN(not a number)数.在 NaN 数中,它的 exponent 部分为可表达的最大值,即 FF(单精度).7FF(双精度)和 7FFF(扩展双精度). NaN 数与 infinit
-
python中nan与inf转为特定数字方法示例
前言 最近因为工作的需求,要处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work:查看得到的数据,发现有很多nan和inf,导致Python的基本函数运行不了,这是因为在除的过程中分母出现0的缘故.为了将结果能够被python其他函数处理,尤其numpy库,需要将nan,inf转为python所能识别的类型. 这里将nan,inf替换0作为例子.下面来看看详细的介绍: 1. 代码 import numpy as np a = np.array([[np.nan, np.n
-
Python中使用socks5设置全局代理的方法示例
0x01介绍 PySocks使您可以通过SOCKS和HTTP代理服务器发送流量.它是SocksiPy的现代分支,具有错误修复和其他功能. 0x02 安装 λ pip3 install Pysocks 0x03 测试 正常请求,httperror无法获得 加入socks5代理后,可以获得当前程序的全局代理可以 正常访问 import socket import socks socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 10808)
-
python中调试或排错的五种方法示例
前言 本文主要给大家介绍了关于python中调试或排错的五种方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的的介绍吧 python调试或排错的五种方法 1.print,直接打印,比较简单而且粗暴 在代码中直接输入print+需要输出的结果,根据打印的内容判断即可 2.assert断言,很方便,测试人员常常在写自动化用例的时候用的比较多 如下,直接将预期结果和实际结果做判断 def true_code(): x = 3 y = 2 z = x + y assert(5==z), "z
-
python中@property和property函数常见使用方法示例
本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(object): @property def get_name(self): print('我叫xxx') def main(): person = Person() person.get_name if __name__ == '__main__': main() 运行结果: 我叫xxx 2.@pr
-
python中实现迭代器(iterator)的方法示例
概述 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 延迟计算或惰性求值 (Lazy evaluation) 迭代器不要求你事先准备好整个迭代过程中所有的元素.仅仅是在迭代至某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁.这个特点使得它特别适合用于遍历一些巨大的或是无限的集合. 今天创建了一个实体类,大致如下: class Account(): def __init__(self, account_n
-
python中装饰器级连的使用方法示例
前言 最近在学习python,学会了为什么要使用装饰器,也明白了装饰器是什么了,但是你也许会问,是否可以在装饰器前面再添加一层装饰器,会怎么样呢?就像大楼一样,一层一层地叠在一起.其实是可以的.现在我们就来学习这种堆叠技术,与类的继承是有相似之处,可以不断地继承下去.下面话不多说了,来一起看看详细的介绍吧. 代码如下: #python 3.6 def star(func): def inner(*args, **kwargs): print("*" * 30) func(*args,
-
python中日期和时间格式化输出的方法小结
本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化日期时间的函数为datetime.datetime.strftime():由字符串转为日期型的函数为:datetime.datetime.strptime(),两个函数都涉及日期时间的格式化字符串,这里提供详细的代码详细演示了每一个参数的使用方法及范例. 下面是格式化日期和时间时可用的替换符号 %a 输出当前是星期几的英文简写 >>> import datetime >&
-
Python中IP地址处理IPy模块的方法
安装 先下载源码,地址:ps://pypi.python.org/pypi/IPy/">https://pypi.python.org/pypi/IPy/ ,然后解压后使用命令python setup.py install安装. 使用 1.显示IP类型 >>> IP('192.168.1.1').version() 4 >>> IP('::1').version() 6 类似如上所示,通过version方法可以的判断输入的IP是IPv4还是IPv6 .
-
详解Python中pyautogui库的最全使用方法
在使用Python做脚本的话,有两个库可以使用,一个为PyUserInput库,另一个为pyautogui库.就本人而言,我更喜欢使用pyautogui库,该库功能多,使用便利.下面给大家介绍一下pyautogui库的使用方法.在cmd命令框中输入pip3 install pyautogui即可安装该库! 常用操作 我们在pyautogui库中常常使用的方法,如下: import pyautogui pyautogui.PAUSE = 1 # 调用在执行动作后暂停的秒数,只能在执行一些pyaut
-
python中slice参数过长的处理方法及实例
很多小伙伴对于slice参数的概念理解停留在概念上,切片的参数有三个,分别是step .start .stop .因为参数的值也是多变的,所以我们需要对它们进行下一步的处理.在之前的slice讲解中我们提到列表数据过长的问题,其中在参数中也有这样的问题存在.下面我们就step .start .stop 三个参数的分别处理展开讲解,帮大家深入了解slice中的参数问题. 1.step 的处理 if (r->step == Py_None) { /* step 默认是 1,这不难理解 */ *ste
随机推荐
- 基于jquery实现的文字淡入淡出效果
- Java多线程编程之ThreadLocal线程范围内的共享变量
- oracle RETURNING 子句使用方法
- 原生js轮播(仿慕课网)
- php中各种定义变量的方法小结
- Android开发新手必须知道的10大严重错误
- MySQL函数大全及用法示例分享
- 浅谈js对象的创建和对6种继承模式的理解和遐想
- asp.net(C#)中给控件添加客户端js事件的方法
- 使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
- json格式的Ajax提交示例代码
- android开发之横向滚动/竖向滚动的ListView(固定列头)
- 静态网页加密
- 将光标定位于输入框最右侧实现代码
- JavaScript中浅讲ajax图文详解
- winsockfix网络协议修复工具
- 深入解析Android中的setContentView加载布局原理
- Java泛型类型通配符和C#对比分析
- Java实现员工管理系统
- java并发之原子操作类和非阻塞算法