Skip to content

Latest commit

 

History

History
102 lines (63 loc) · 3.02 KB

np126_0841.md

File metadata and controls

102 lines (63 loc) · 3.02 KB

numpy.nansum

原文:numpy.org/doc/1.26/reference/generated/numpy.nansum.html

numpy.nansum(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

返回在给定轴上对数组元素求和的结果,将 Not a Number(NaN)视为零。

在 NumPy 版本 <= 1.9.0 中,针对全部是 NaN 或者空数组的切片会返回 Nan。在后续版本中,将返回零。

参数:

a 类似数组

包含���需求和结果的数字数组。如果 a 不是数组,则尝试进行转换。

axis {int, int 元组, None},可选参数

沿着其进行求和的轴或轴。默认是对压平的数组求和。

dtype 数据类型,可选参数

返回的数组和元素求和的累加器的数据类型。默认情况下,使用 a 的数据类型。特例是当 a 的整数类型比平台的精度低时(u)intp。在这种情况下,默认值将分别为(u)int32 或(u)int64,具体取决于平台是 32 位还是 64 位。对于不精确的输入,数据类型必须是不精确的。

新版本 1.8.0 中。

out ndarray,可选参数

用于存放结果的备用输出数组。默认值为 None。如果提供,则必须具有与预期输出相同的形状,但必要时会进行类型转换。有关更多详情,请参阅输出类型确定。将 NaN 转换为整数可能会产生意外结果。

新版本 1.8.0 中。

keepdims 布尔型,可选参数

如果设置为 True,则减少的轴将保持在结果中作为具有大小为一的维度。使用此选项时,结果将正确对原始 a 进行广播。

如果数值不是默认值,则 keepdims 将传递给meansum 的 ndarray 的子类方法。如果子类方法不实现 keepdims,则会引发任何异常。

新版本 1.8.0 中。

initial 标量,可选参数

求和的起始值。详见reduce

新版本 1.22.0 中。

where 布尔型数组,可选参数

要包含在求和中的元素。详见reduce

新版本 1.22.0 中。

返回:

nansum ndarray。

返回一个新的数组来保存结果,除非指定了 out 参数,否则将返回该数组。如果 axis 不为 None 或者 a 是一个一维数组,则结果的大小和 a 的形状相同。

另请参阅

numpy.sum

对数组中的 NaN 进行求和。

isnan

显示哪些元素是 NaN。

isfinite

显示哪些元素不是 NaN 或 +/-inf。

注意事项

如果同时存在正无穷大和负无穷大,它们的和将为非数字(NaN)。

示例

>>> np.nansum(1)
1
>>> np.nansum([1])
1
>>> np.nansum([1, np.nan])
1.0
>>> a = np.array([[1, 1], [1, np.nan]])
>>> np.nansum(a)
3.0
>>> np.nansum(a, axis=0)
array([2.,  1.])
>>> np.nansum([1, np.nan, np.inf])
inf
>>> np.nansum([1, np.nan, np.NINF])
-inf
>>> from numpy.testing import suppress_warnings
>>> with suppress_warnings() as sup:
...     sup.filter(RuntimeWarning)
...     np.nansum([1, np.nan, np.inf, -np.inf]) # both +/- infinity present
nan