numpy.nansum

numpy.nansum(a, axis=None, dtype=None, out=None, keepdims=<no value>)[源代码]

返回给定轴上数组元素的和,将非数字(NaN)视为零。

在numpy版本中,对于全部为NaN或空的切片,将返回<=1.9.0 NaN。在以后的版本中,返回零。

参数
aarray_like

包含需要求和的数字的数组。如果 a 不是数组,尝试转换。

axisint,int的元组,none,可选

计算总和的轴。默认值是计算展平数组的和。

dtype数据类型,可选

返回数组的类型以及元素求和的累加器的类型。默认情况下, a 使用。例外情况是 a 具有比平台(U)intp精度低的整数类型。在这种情况下,根据平台是32位还是64位,默认值是(u)int32或(u)int64。对于不精确的输入,dtype必须是不精确的。

1.8.0 新版功能.

outndarray,可选

用于放置结果的备用输出数组。默认值为 None . 如果提供,它必须具有与预期输出相同的形状,但如果需要,类型将被强制转换。见 输出类型确定 更多细节。将NaN转换为整数可能会产生意外的结果。

1.8.0 新版功能.

keepdims可选的布尔

如果设置为“真”,则缩小的轴将保留在结果中,作为尺寸为1的尺寸。使用此选项,结果将正确广播到原始 a .

如果该值不是默认值,则 keepdims 将通过 meansum 子类方法 ndarray . 如果子类方法不实现 keepdims 将引发任何异常。

1.8.0 新版功能.

返回
nansum恩达雷

将返回包含结果的新数组,除非 out 是指定的,在其中返回。结果与 a ,形状与 a 如果 axis 不是没有 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