numpy.nancumsum#

numpy.nancumsum(a, axis=None, dtype=None, out=None)[source]#

返回数组元素在给定轴上的累积和,将非数字 (NaN) 视为零。遇到 NaN 时,累积和不会发生变化,并且前导 NaN 将被零替换。

对于全是 NaN 或为空的切片,将返回零。

版本 1.12.0 中的新功能。

参数:
aarray_like

输入数组。

axisint, 可选

计算累积和的轴。默认为 (None),表示在扁平化数组上计算累积和。

dtypedtype, 可选

返回数组和累加器(元素在其中求和)的类型。如果未指定 dtype,则默认为 a 的 dtype,除非 a 的整数 dtype 精度低于默认平台整数的精度。在这种情况下,将使用默认平台整数。

outndarray, 可选

放置结果的备用输出数组。它必须与预期输出具有相同的形状和缓冲区长度,但类型将在必要时进行转换。有关更多详细信息,请参阅 输出类型确定

返回值:
nancumsumndarray。

除非指定了 out,否则将返回一个包含结果的新数组,否则将返回 out。结果与 a 大小相同,如果 axis 不为 None 或 a 为一维数组,则结果与 a 形状相同。

另请参阅

numpy.cumsum

传播 NaN 的数组的累积和。

isnan

显示哪些元素是 NaN。

示例

>>> import numpy as np
>>> np.nancumsum(1)
array([1])
>>> np.nancumsum([1])
array([1])
>>> np.nancumsum([1, np.nan])
array([1.,  1.])
>>> a = np.array([[1, 2], [3, np.nan]])
>>> np.nancumsum(a)
array([1.,  3.,  6.,  6.])
>>> np.nancumsum(a, axis=0)
array([[1.,  2.],
       [4.,  2.]])
>>> np.nancumsum(a, axis=1)
array([[1.,  3.],
       [3.,  3.]])