maxframe.tensor.nan_to_num#

maxframe.tensor.nan_to_num(x, copy=True, **kwargs)[源代码]#

将 nan 替换为零,将 inf 替换为大的有限数。

如果 x 是不精确的,则 NaN 被替换为零,正负无穷大分别被替换为 x.dtype 所能表示的最大和最小的有限浮点数值。

对于复数类型,上述操作会分别应用于 x 的实部和虚部。

如果 x 不是不精确类型,则不做任何替换。

参数:
  • x (array_like) -- 输入数据。

  • copy (bool, optional) -- 是否创建 x 的副本 (True) 或原地替换值 (False)。仅当转换为数组不需要复制时才会进行原地操作。默认为 True。

返回:

out -- 替换掉非有限值后的 x。如果 copy 为 False,则可能就是 x 本身。

返回类型:

Tensor

参见

isinf

显示哪些元素是正无穷或负无穷。

isneginf

显示哪些元素是负无穷。

isposinf

显示哪些元素是正无穷。

isnan

显示哪些元素是 NaN(非数字)。

isfinite

显示哪些元素是有限的(不是 NaN,也不是无穷大)。

备注

MaxFrame 使用 IEEE 二进制浮点数算术标准 (IEEE 754)。这意味着 NaN(非数字)与无穷大并不等价。

示例

>>> import maxframe.tensor as mt
>>> x = mt.array([mt.inf, -mt.inf, mt.nan, -128, 128])
>>> mt.nan_to_num(x).execute()
array([  1.79769313e+308,  -1.79769313e+308,   0.00000000e+000,
        -1.28000000e+002,   1.28000000e+002])
>>> y = mt.array([complex(mt.inf, mt.nan), mt.nan, complex(mt.nan, mt.inf)])
>>> mt.nan_to_num(y).execute()
array([  1.79769313e+308 +0.00000000e+000j,
         0.00000000e+000 +0.00000000e+000j,
         0.00000000e+000 +1.79769313e+308j])