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


Python dask.array.prod用法及代碼示例

用法:

dask.array.prod(a, axis=None, dtype=None, keepdims=False, split_every=None, out=None)

返回給定軸上數組元素的乘積。

此文檔字符串是從 numpy.prod 複製的。

可能存在與 Dask 版本的一些不一致之處。

參數

aarray_like

輸入數據。

axis無或整數或整數元組,可選

執行產品的一個或多個軸。默認值,axis=None,將計算輸入數組中所有元素的乘積。如果軸為負數,則從最後一個軸計數到第一個軸。

如果axis是整數元組,則在元組中指定的所有軸上執行乘積,而不是像以前那樣在單個軸或所有軸上執行。

dtypedtype,可選

返回數組的類型,以及元素相乘的累加器的類型。默認情況下使用a 的dtype,除非a 的整數dtype 的精度低於默認平台整數。在這種情況下,如果a 有符號則使用平台整數,而如果a 無符號則使用與平台整數具有相同精度的無符號整數。

outndarray,可選

用於放置結果的替代輸出數組。它必須具有與預期輸出相同的形狀,但如果需要,輸出值的類型將被強製轉換。

keepdims布爾型,可選

如果將其設置為 True,則縮小的軸將作為尺寸為 1 的尺寸留在結果中。使用此選項,結果將針對輸入數組正確廣播。

如果傳遞了默認值,那麽 keepdims 將不會傳遞給 ndarray 的子類的 prod 方法,但是任何非默認值都會傳遞。如果 sub-class' 方法未實現 keepdims,則將引發任何異常。

initial標量,可選(Dask 中不支持)

此產品的起始值。有關詳細信息,請參閱~numpy.ufunc.reduce

where數組 of bool,可選(在 Dask 中不支持)

要包含在產品中的元素。有關詳細信息,請參閱~numpy.ufunc.reduce

返回

product_along_axisndarray,請參見上麵的dtype 參數。

形狀為 a 但已刪除指定軸的數組。如果指定,則返回對 out 的引用。

注意

使用整數類型時算術是模塊化的,溢出時不會引發錯誤。這意味著,在 32 位平台上:

>>> x = np.array([536870910, 536870910, 536870910, 536870910])  
>>> np.prod(x)  
16 # may vary

空數組的乘積是中性元素 1:

>>> np.prod([])  
1.0

例子

默認情況下,計算所有元素的乘積:

>>> np.prod([1.,2.])  
2.0

即使輸入數組是二維的:

>>> np.prod([[1.,2.],[3.,4.]])  
24.0

但我們也可以指定相乘的軸:

>>> np.prod([[1.,2.],[3.,4.]], axis=1)  
array([  2.,  12.])

或選擇要包括的特定元素:

>>> np.prod([1., np.nan, 3.], where=[True, False, True])  
3.0

如果x 的類型是無符號的,則輸出類型是無符號平台整數:

>>> x = np.array([1, 2, 3], dtype=np.uint8)  
>>> np.prod(x).dtype == np.uint  
True

如果x 是有符號整數類型,則輸出類型是默認平台整數:

>>> x = np.array([1, 2, 3], dtype=np.int8)  
>>> np.prod(x).dtype == int  
True

您還可以使用非 1 的值啟動產品:

>>> np.prod([1, 2], initial=5)  
10

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.prod。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。