dask.array.cumprod
dask.array.cumprod¶
- dask.array.cumprod(x, axis=None, dtype=None, out=None, method='sequential')[源代码]¶
返回沿给定轴的元素累积乘积。
此文档字符串是从 numpy.cumprod 复制的。
Dask 版本可能存在一些不一致性。
Dask 添加了一个额外的仅关键字参数
method
。- 方法{‘sequential’, ‘blelloch’}, 可选
选择使用哪种方法来执行 cumprod。默认是 ‘sequential’。
‘sequential’ 在当前块之前对每个先前的块执行累积乘积。
‘blelloch’ 是一种工作效率高的并行 cumprod。它通过首先计算每个块的乘积,并通过二叉树组合这些乘积来暴露并行性。这种方法的速度或内存效率可能取决于工作负载、调度器和硬件。更多基准测试是必要的。
- 参数
- aarray_like (Dask 中不支持)
输入数组。
- 轴int, 可选
计算累积乘积的轴。默认情况下,输入会被展平。
- dtypedtype, 可选
返回数组的类型,以及元素相乘的累加器的类型。如果未指定 dtype ,则默认为 a 的 dtype ,除非 a 具有精度低于默认平台整数的整数 dtype 。在这种情况下,将使用默认平台整数。
- 出ndarray,可选
可选的输出数组,用于放置结果。它必须与预期输出的形状和缓冲区长度相同,但如果需要,结果值的类型将被强制转换。
- 返回
- cumprodndarray
除非指定了 out,否则将返回一个包含结果的新数组;如果指定了 out,则返回对 out 的引用。
参见
cumulative_prod
与
cumprod
兼容的数组 API 替代方案。- ufuncs-输出类型
注释
使用整数类型时,算术是模运算,溢出时不会引发错误。
示例
>>> 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=float) # 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]])