numpy.nancumsum#

numpy.nancumsum(a, axis=None, dtype=None, out=None)[源代码]#

沿给定轴计算数组元素的累积和,将 Not a Numbers (NaN) 视为零。累积和在遇到 NaN 时不会改变,并且前导 NaN 会被替换为零。

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

参数:
a类数组对象

输入数组。

axisint, optional

计算累积和的轴。默认值 (None) 是对展平后的数组计算 cumsum。

dtypedtype, optional

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

outndarray,可选

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

返回:
nancumsumndarray.

返回一个包含结果的新数组,除非指定了 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.]])