numpy.cumulative_prod#
- numpy.cumulative_prod(x, /, *, axis=None, dtype=None, out=None, include_initial=False)[源代码]#
返回给定轴上元素的累积积.
此函数是与
numpy.cumprod兼容的 Array API 替代方法.- 参数:
- xarray_like
输入数组.
- axis整数,可选
计算累积积的轴.默认值 (None) 仅允许用于一维数组.对于具有多个维度的数组,则需要
axis.- dtypedtype, optional
返回数组的类型,以及用于将元素相乘的累加器的类型.如果未指定
dtype,则默认为x的 dtype,除非x具有精度低于默认平台整数的整数 dtype.在这种情况下,将改为使用默认平台整数.- outndarray, 可选
用于放置结果的替代输出数组.它必须具有与预期输出相同的形状和缓冲区长度,但如有必要,将强制转换结果值的类型.有关更多详细信息,请参阅 输出类型确定 .
- include_initialbool, 可选
指示是否将初始值(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]])