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]])