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


Python numpy prod用法及代碼示例


本文簡要介紹 python 語言中 numpy.prod 的用法。

用法:

numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

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

參數

a array_like

輸入數據。

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

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

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

dtype dtype,可選

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

out ndarray,可選

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

keepdims 布爾型,可選

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

如果傳遞了默認值,那麽保持昏暗不會被傳遞到prod子類的方法numpy.ndarray,但是任何非默認值都是。如果sub-class' 方法沒有實現保持昏暗將引發任何異常。

initial 標量,可選

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

where 類似於 bool 的數組,可選

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

返回

product_along_axis ndarray,請參見上麵的 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

相關用法


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