numpy.nancumprod#

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

返回给定轴上数组元素的累积积,并将非数字 (NaN) 视为 1.当遇到 NaN 时,累积积不会改变,并且前导 NaN 将被替换为 1.

对于全为 NaN 或空的切片,将返回 1.

参数:
aarray_like

输入数组.

int, optional

计算累积积的轴. 默认情况下,输入被展平.

dtypedtype,可选

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

outndarray,可选

用于放置结果的可选输出数组.它必须具有与预期输出相同的形状和缓冲区长度,但如果需要,将转换结果值的类型.

返回:
nancumprodndarray

除非指定了 out ,否则将返回一个包含结果的新数组,在这种情况下,将返回 out .

参见

numpy.cumprod

跨数组累积积,传播 NaN.

isnan

显示哪些元素是 NaN.

示例

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