numpy.nancumsum#

numpy.nancumsum(a, axis=None, dtype=None, out=None)[原始碼]#

傳回沿著指定軸的陣列元素累積總和,並將非數字 (NaN) 視為零。當遇到 NaN 時,累積總和不會改變,且開頭的 NaN 會被零取代。

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

參數:
aarray_like

輸入陣列。

axisint, 選用

計算累積總和的軸。預設值 (None) 是計算展平陣列的累積總和。

dtypedtype, 選用

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

outndarray, 選用

用於放置結果的替代輸出陣列。它必須具有與預期輸出相同的形狀和緩衝區長度,但必要時會轉換類型。有關更多詳細資訊,請參閱輸出類型判斷。

傳回值:
nancumsumndarray.

除非指定了 out,否則會傳回一個包含結果的新陣列,在指定 out 的情況下則會傳回 out。結果的大小與 a 相同,如果 axis 不是 None 或 a 是一維陣列,則形狀與 a 相同。

另請參閱

numpy.cumsum

numpy.cumsum

numpy.isnan

顯示哪些元素是 NaN。

範例

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