numpy.cumulative_prod#

numpy.cumulative_prod(x, /, *, axis=None, dtype=None, out=None, include_initial=False)[原始碼]#

傳回沿著給定軸的元素累積乘積。

此函數是與陣列 API 相容的 numpy.cumprod 替代方案。

參數:
xarray_like

輸入陣列。

axisint, optional

計算累積乘積的軸。預設值 (None) 僅允許用於一維陣列。對於多維陣列,axis 為必填。

dtypedtype, optional

傳回陣列的型別,以及元素相乘時所用的累加器型別。如果未指定 dtype,則預設為 x 的 dtype,除非 x 的整數 dtype 精度低於預設平台整數。在這種情況下,將改用預設平台整數。

outndarray, optional

用於放置結果的替代輸出陣列。它必須具有與預期輸出相同的形狀和緩衝區長度,但如有必要,將轉換結果值的型別。詳情請參閱 輸出型別判定

include_initialbool, optional

布林值,指示是否將初始值 (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]])