Python 无穷大与NaN

想创建或测试正无穷、负无穷或NaN(非数字) 的浮点数

Python 并没有特殊的语法来表示这些特殊的浮点值,但是可以使用float() 来创建它们。比如:

>>> a = float(‘inf‘)
>>> b = float(‘-inf‘)
>>> c = float(‘nan‘)
>>> a
inf
>>> b
-inf
>>> c
nan
>>>

为了测试这些值的存在,使用math.isinf() 和math.isnan() 函数。比如:
>>> math.isinf(a)
True
>>> math.isnan(c)
True
>>>

跟比较和操作符相关的时候,无穷大数在执行数学计算的时候会传播,比如:

>>> a = float(‘inf‘)
>>> a + 45
inf
>>> a * 10
inf
>>> 10 / a
0.0
>>>

但是有些操作时未定义的并会返回一个NaN 结果

>>> c = float(‘nan‘)
>>> c + 23
nan
>>> c / 2
nan
>>> c * 2
nan
>>> math.sqrt(c)
nan
>>>

NaN 值的一个特别的地方时它们之间的比较操作总是返回False。

>>> c = float(‘nan‘)
>>> d = float(‘nan‘)
>>> c == d
False
>>> c is d
False

由于这个原因,测试一个NaN 值得唯一安全的方法就是使用math.isnan() ,也就是上面演示的那样。

原文地址:https://www.cnblogs.com/baxianhua/p/9914346.html

时间: 2024-08-15 03:57:27

Python 无穷大与NaN的相关文章

python 数字系列-无穷大与NaN

无穷大与NaN 问题 你想创建或测试正无穷.负无穷或NaN(非数字)的浮点数. 解决方案 Python并没有特殊的语法来表示这些特殊的浮点值,但是可以使用 float() 来创建它们.比如: >>> a = float('inf') >>> b = float('-inf') >>> c = float('nan') >>> a inf >>> b -inf >>> c nan >>&g

Python 数据清洗--处理Nan

参考:http://blog.sina.com.cn/s/blog_13050351e0102xfis.html https://www.sogou.com/link?url=DOb0bgH2eKh1ibpaMGjuy-bS_O7xQYLPIOogrOFmc02ueKW9M67CaVLpMY1k7wxTCB1NmnNSzM-t5pUc3zy0dg.. https://www.sogou.com/link?url=DOb0bgH2eKh1ibpaMGjuy6YnbQPc3cuKWH5w_8iuvJ

python cookbook 2 数字 日期 时间(2)

5.字节到大整数的转换 #拥有128位长的16个元素的字节字符串. >>> data = b'\x00\x124V\x00x\x90\xab\x00\xcd\xef\x01\x00#\x004' >>> len(data) 16 将bytes解析为整数,使用 int.from_bytes() 方法 #仅使用与python3 #字节顺序规则(little或big)仅仅指定了构建整数时的字节的低位高位排列方式. >>> int.from_bytes(dat

Note of Python Math

Note of Python Math math 库是Python 提供的内置数学类函数库,而其中复数类型常用于科学计算,一般计算并不常用,因此math 库不支持复数类型.math 库一共提供4个数学常数和44个函数(包括16个数值表示函数.8个幂对数函数.16个三角对数函数和4个高等特殊函数). 1. 调用库函数 (1) 导入库函数:import  <库名> 使用库中函数:<库名> . <函数名> (<函数参数>) (2) 导入库函数:from  <

Python 浮点数的冷知识

本周的PyCoder's Weekly 上分享了一篇小文章,它里面提到的冷知识很有意思,我稍作补充,分享给大家. 它提到的部分问题,读者们可以先思考下: 若两个元组相等,即 a==b 且 a is b,那么相同索引的元素(如 a[0] .b[0])是否必然相等呢? 若两个对象的 hash 结果相等,即 hash(a) == hash(b),那么它们是否必然相等呢? 答案当然都为否(不然就不叫冷知识了),大家可以先尝试回答一下,然后再往下看. -----思考分割线----- 好了,先来看看第一个问

【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识

前面几篇文章采用的案例的方法进行介绍的,这篇文章主要介绍Python常用的扩展包,同时结合数据挖掘相关知识介绍该包具体的用法,主要介绍Numpy.Pandas和Matplotlib三个包.目录:        一.Python常用扩展包        二.Numpy科学计算包        三.Pandas数据分析包        四.Matplotlib绘图包 前文推荐:       [Python数据挖掘课程]一.安装Python及爬虫入门介绍       [Python数据挖掘课程]二.K

R vs Python:构建data.frame、读取csv与统计描述

一.Python 数据框就是典型的关系型数据库的数据存储形式,每一行是一条记录,每一列是一个属性,最终构成表格的形式,这是数据科学家必须熟悉的最典型的数据结构. 1.构建数据框 import pandas as pd data = {'year':[2010, 2011, 2012, 2010, 2011, 2012, 2010, 2011, 2012], 'team':['FCBarcelona', 'FCBarcelona', 'FCBarcelona', 'RMadrid', 'RMadr

python数据分析-03pandas库

#Seriesimport numpy as npimport pandas as pd # s1 = pd.Series([1,2,3,4])# print(s1)# # 0 1# # 1 2# # 2 3# # 3 4# # dtype: int64# print(s1.values) #[1 2 3 4]# print(s1.index) #RangeIndex(start=0, stop=4, step=1) #传入数组# s2 = pd.Series(np.arange(10))# p

pythoncook 随记

第一章 数据结构与算法 1 赋值多个变量 *2 collections deque 构造固定大小队列,插入删除比list快3 查找最大和最小元素的N个元素 heapq nlargest() nsmallest()4 实现一个优先级队列 5 字典中的键映射多个值 collections defaultdict6 字典排序 collections OrderedDict7 字典的运算 键值使用zip反转8 查找两个字典的相同点 使用并交集 & - 字典 集合9 删除序列相同元素并保持顺序 构建set