numpy.nancumprod#

numpy.nancumprod(a, axis=None, dtype=None, out=None)[source]#

傳回沿著指定軸的陣列元素之累積乘積,並將 Not a Number (NaN) 視為一。當遇到 NaN 時,累積乘積不會改變,且前導 NaN 會被替換為一。

對於全為 NaN 或空的切片,會傳回一。

參數:
aarray_like

輸入陣列。

axisint, optional

計算累積乘積的軸。預設情況下,輸入會被展平。

dtypedtype, optional

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

outndarray, optional

用於放置結果的替代輸出陣列。它必須具有與預期輸出相同的形狀和緩衝區長度,但必要時會轉換結果值的型別。

傳回值:
nancumprodndarray

除非指定了 out,否則會傳回一個包含結果的新陣列,在這種情況下,會傳回 out

另請參閱

numpy.cumprod

跨陣列傳播 NaN 的累積乘積。

isnan

顯示哪些元素是 NaN。

範例

>>> import numpy as np
>>> np.nancumprod(1)
array([1])
>>> np.nancumprod([1])
array([1])
>>> np.nancumprod([1, np.nan])
array([1.,  1.])
>>> a = np.array([[1, 2], [3, np.nan]])
>>> np.nancumprod(a)
array([1.,  2.,  6.,  6.])
>>> np.nancumprod(a, axis=0)
array([[1.,  2.],
       [3.,  2.]])
>>> np.nancumprod(a, axis=1)
array([[1.,  2.],
       [3.,  3.]])