numpy.cumprod#

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

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

参数:
a类数组对象

输入数组。

axisint, optional

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

dtypedtype, optional

返回数组的类型,也是进行元素乘法运算时的累加器类型。如果未指定 dtype,则默认为 a 的 dtype,除非 a 的整数类型精度低于默认平台整数。在这种情况下,将改用默认平台整数。

outndarray,可选

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

返回:
cumprodndarray

除非指定了 out,否则将返回一个包含结果的新数组;如果指定了 out,则返回对该 out 数组的引用。

另请参阅

cumulative_prod

与 Array API 兼容的 cumprod 替代方案。

输出类型确定

备注

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

示例

>>> import numpy as np
>>> a = np.array([1,2,3])
>>> np.cumprod(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.cumprod(a, dtype=np.float64)  # specify type of output
array([   1.,    2.,    6.,   24.,  120.,  720.])

a 的每一列(即跨行)的累积乘积

>>> np.cumprod(a, axis=0)
array([[ 1,  2,  3],
       [ 4, 10, 18]])

a 的每一行(即跨列)的累积乘积

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