numpy.nanprod#
- numpy.nanprod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[原始碼]#
傳回在給定軸上陣列元素的乘積,並將 Not a Numbers (NaN) 視為 1。
對於全為 NaN 或為空的切片,傳回 1。
- 參數:
- aarray_like
包含想要計算乘積的數字的陣列。如果 a 不是陣列,則會嘗試轉換。
- axis{int, int 元組, None},選用
計算乘積的軸或軸。預設值是計算展平陣列的乘積。
- dtype資料類型,選用
傳回陣列的類型以及在其中對元素求和的累加器的類型。預設情況下,會使用 a 的 dtype。例外情況是當 a 具有比平台 (u)intp 更低精度的整數類型時。在這種情況下,預設值將為 (u)int32 或 (u)int64,具體取決於平台是 32 位元還是 64 位元。對於非精確輸入,dtype 必須是非精確的。
- outndarray,選用
要在其中放置結果的替代輸出陣列。預設值為
None
。如果提供,則它必須具有與預期輸出相同的形狀,但如果需要,將會轉換類型。有關更多詳細資訊,請參閱輸出類型決定。將 NaN 轉換為整數可能會產生意外的結果。- keepdimsbool,選用
如果為 True,則縮減的軸將保留在結果中,作為大小為 1 的維度。使用此選項,結果將針對原始 arr 正確廣播。
- initial純量,選用
此乘積的起始值。有關詳細資訊,請參閱
reduce
。版本 1.22.0 新增功能。
- wherearray_like of bool,選用
要包含在乘積中的元素。有關詳細資訊,請參閱
reduce
。版本 1.22.0 新增功能。
- 傳回值:
- nanprodndarray
除非指定 out,否則會傳回一個新的陣列,在這種情況下,它會被傳回。
另請參閱
numpy.prod
product
isnan
顯示哪些元素是 NaN。
範例
>>> import numpy as np >>> np.nanprod(1) 1 >>> np.nanprod([1]) 1 >>> np.nanprod([1, np.nan]) 1.0 >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nanprod(a) 6.0 >>> np.nanprod(a, axis=0) array([3., 2.])