当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.array.nan_to_num用法及代码示例


用法:

dask.array.nan_to_num(*args, **kwargs)

用零和无穷大替换 NaN 用大的有限数(默认行为)或用户使用 nanposinf 和/或 neginf 关键字定义的数字。

此文档字符串是从 numpy.nan_to_num 复制的。

可能存在与 Dask 版本的一些不一致之处。

如果x 不精确,NaN 将被零或nan 关键字中的用户定义值替换,无穷大被x.dtype 可表示的最大有限浮点值或posinf 关键字中的用户定义值替换-infinity 被x.dtypeneginf 关键字中用户定义的值所表示的最大负有限浮点值替换。

对于复杂的 dtype,上述内容分别应用于x 的每个实部和虚部。

如果x 不是不准确的,则不进行替换。

参数

x标量或类似数组(Dask 中不支持)

输入数据。

copybool,可选(在 Dask 中不支持)

是创建x 的副本(True)还是就地替换值(False)。仅当转换为数组不需要副本时,才会发生就地操作。默认为真。

nanint、float、可选(在 Dask 中不支持)

用于填充 NaN 值的值。如果未传递任何值,则 NaN 值将替换为 0.0。

posinfint、float、可选(在 Dask 中不支持)

用于填充正无穷大值的值。如果没有传递任何值,那么正无穷大值将被替换为一个非常大的数字。

neginfint、float、可选(在 Dask 中不支持)

用于填充负无穷大值的值。如果未传递任何值,则负无穷大值将被替换为非常小的(或负)数。

返回

outndarray

x ,替换了非有限值。如果 copy 为 False,则这可能是 x 本身。

注意

NumPy 使用 IEEE 二进制浮点算术标准 (IEEE 754)。这意味着 Not a Number 不等于无穷大。

例子

>>> np.nan_to_num(np.inf)  
1.7976931348623157e+308
>>> np.nan_to_num(-np.inf)  
-1.7976931348623157e+308
>>> np.nan_to_num(np.nan)  
0.0
>>> 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, # may vary
       -1.28000000e+002,  1.28000000e+002])
>>> np.nan_to_num(x, nan=-9999, posinf=33333333, neginf=33333333)  
array([ 3.3333333e+07,  3.3333333e+07, -9.9990000e+03, 
       -1.2800000e+02,  1.2800000e+02])
>>> y = np.array([complex(np.inf, np.nan), np.nan, complex(np.nan, np.inf)])  
array([  1.79769313e+308,  -1.79769313e+308,   0.00000000e+000, # may vary
     -1.28000000e+002,   1.28000000e+002])
>>> np.nan_to_num(y)  
array([  1.79769313e+308 +0.00000000e+000j, # may vary
         0.00000000e+000 +0.00000000e+000j,
         0.00000000e+000 +1.79769313e+308j])
>>> np.nan_to_num(y, nan=111111, posinf=222222)  
array([222222.+111111.j, 111111.     +0.j, 111111.+222222.j])

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.nan_to_num。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。