mars.tensor.nan_to_num#
- mars.tensor.nan_to_num(x, copy=True, **kwargs)[来源]#
将nan替换为零,将inf替换为大有限数。
如果 x 不精确,NaN 被替换为零,正无穷大和负无穷大被分别替换为
x.dtype所能表示的最大和最负的有限浮点值。对于复杂数据类型,上述内容被单独应用于x的每个实部和虚部。
如果 x 不是不精确的,则不进行任何替换。
- Parameters
x (类数组) – 输入数据。
复制 (bool, 可选) – 是否创建x的副本(True),或者在原地替换值(False)。只有在转换为数组时不需要复制的情况下,才会进行原地操作。默认值为True。
- Returns
out – x,非有限值被替换。如果 copy 为 False,这可能是 x 本身。
- Return type
张量
另请参阅
备注
Mars使用IEEE标准的二进制浮点数进行算术运算(IEEE 754)。这意味着不是一个数字(Not a Number)不等同于无穷大。
示例
>>> import mars.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])