在Python中可以将数组的元素设置为NaN
吗?
另外,是否可以将变量设置为+/-无穷大?如果是,有没有什么函数可以检查一个数字是否无穷大?
发布于 2011-03-26 06:25:46
使用float()
从字符串转换
>>> float('NaN')
nan
>>> float('Inf')
inf
>>> -float('Inf')
-inf
>>> float('Inf') == float('Inf')
True
>>> float('Inf') == 1
False
发布于 2011-03-26 08:19:44
是的,您可以使用numpy
来完成此操作。
import numpy as np
a = arange(3,dtype=float)
a[0] = np.nan
a[1] = np.inf
a[2] = -np.inf
a # is now [nan,inf,-inf]
np.isnan(a[0]) # True
np.isinf(a[1]) # True
np.isinf(a[2]) # True
发布于 2017-02-01 08:54:27
使用Python 2.4时,请尝试
inf = float("9e999")
nan = inf - inf
当我将simplejson移植到运行Python2.4的嵌入式设备上时,我遇到了这个问题,float("9e999")
修复了这个问题。不要使用inf = 9e999
,你需要把它从字符串转换过来。-inf
提供了-Infinity
。
https://stackoverflow.com/questions/5438745
复制相似问题