当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python 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’ 在当前块之前执行每个先前块的 cumprod。
  • ‘blelloch’ 是 work-efficient 并行 cumprod。它通过首先获取每个块的乘积并通过二叉树组合这些乘积来公开并行性。根据工作负载、调度程序和硬件,此方法可能更快或更节省内存。更多的基准测试是必要的。

参数

a数组(在 Dask 中不支持)

输入数组。

axis整数,可选

计算累积乘积的轴。默认情况下,输入是展平的。

dtypedtype,可选

返回数组的类型,以及元素相乘的累加器的类型。如果类型未指定,默认为 dtypea, 除非a具有精度小于默认平台整数的整数 dtype。在这种情况下,将使用默认平台整数。

outndarray,可选

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

返回

cumprodndarray

除非指定了out,否则将返回一个保存结果的新数组,在这种情况下,将返回对 out 的引用。

注意

使用整数类型时算术是模块化的,溢出时不会引发错误。

例子

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

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.cumprod。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。