numpy.nancumprod#

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

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

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

参数:
aarray_like

输入数组。

axisint, 可选

计算累积积的轴。默认情况下,输入数组会被展平。

dtypedtype, 可选

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

outndarray, 可选

用于存放结果的备用输出数组。它必须与预期输出具有相同的形状和缓冲区长度,但如果需要,结果值的类型将被强制转换。

返回:
nancumprodndarray

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