當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。