上一主题

numpy.fmin

下一主题

numpy.real_if_close

numpy.nan_to_num

numpy.nan_to_num(x)[source]

用零和inf替换nan为有限数。

返回一个数组或标量,用非常大的数字代替非零(正)无穷大的数字(NaN),用非常小(或负数)的数字代替负无穷大。

参数:

x:array_like

输入数据。

返回:

out:ndarray

具有与x相同形状的新数组和具有最大精度的x中的元素的dtype。如果x不精确,则NaN由零替换,并且无穷大(无穷大)由适合输出dtype的最大(最小或最大负)浮点值替换。如果x不是不准确,则返回x的副本。

也可以看看

isinf
显示哪些元素是负无穷大或负无穷大。
isneginf
显示哪些元素为负无穷大。
isposinf
显示哪些元素为正无穷。
isnan
显示哪些元素不是数字(NaN)。
isfinite
显示哪些元素是有限的(不是NaN,而不是无穷大)

笔记

Numpy使用IEEE标准二进制浮点运算(IEEE 754)。这意味着不是数字不等于无穷大。

例子

>>> np.set_printoptions(precision=8)
>>> x = np.array([np.inf, -np.inf, np.nan, -128, 128])
>>> np.nan_to_num(x)
array([  1.79769313e+308,  -1.79769313e+308,   0.00000000e+000,
        -1.28000000e+002,   1.28000000e+002])