numpy.cumulative_prod#

numpy.cumulative_prod(x, /, *, axis=None, dtype=None, out=None, include_initial=False)[源代码]#

沿给定轴计算元素的累积乘积。

此函数是 numpy.cumprod 的一个 Array API 兼容替代方案。

参数:
xarray_like

输入数组。

axisint, optional

计算累积乘积的轴。默认值 (None) 仅允许用于一维数组。对于多维数组,axis 是必需的。

dtypedtype, optional

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

outndarray,可选

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

include_initialbool, optional

布尔值,指示是否将初始值(1)包含为输出的第一个值。当 include_initial=True 时,输出的形状与输入的形状不同。默认值:False

返回:
cumulative_prod_along_axisndarray

除非指定了 out,否则将返回一个保存结果的新数组;在这种情况下,将返回 out 的引用。如果 include_initial=False,则结果的形状与 x 相同。

备注

使用整数类型时,算术运算是模运算,并且不会在溢出时引发错误。

示例

>>> a = np.array([1, 2, 3])
>>> np.cumulative_prod(a)  # intermediate results 1, 1*2
...                        # total product 1*2*3 = 6
array([1, 2, 6])
>>> a = np.array([1, 2, 3, 4, 5, 6])
>>> np.cumulative_prod(a, dtype=float) # specify type of output
array([   1.,    2.,    6.,   24.,  120.,  720.])

b 的每一列(即沿行)的累积乘积

>>> b = np.array([[1, 2, 3], [4, 5, 6]])
>>> np.cumulative_prod(b, axis=0)
array([[ 1,  2,  3],
       [ 4, 10, 18]])

b 的每一行(即沿列)的累积乘积

>>> np.cumulative_prod(b, axis=1)
array([[  1,   2,   6],
       [  4,  20, 120]])