numpy.nansum#
- numpy.nansum(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[原始碼]#
傳回給定軸上陣列元素的總和,並將 Not a Numbers (NaN) 視為零。
在 NumPy 版本 <= 1.9.0 中,對於全為 NaN 或為空的切片,會傳回 Nan。在後續版本中,則傳回零。
- 參數:
- 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,則縮減的軸將保留在結果中,作為大小為一的維度。使用此選項,結果將針對原始 a 正確廣播。
如果該值不是預設值,則 keepdims 將傳遞到
mean
或sum
的ndarray
子類別方法。如果子類別方法未實作 keepdims,則會引發任何例外。- initial純量, 選用
總和的起始值。 有關詳細信息,請參閱
reduce
。版本 1.22.0 新增。
- wherebool 的 array_like, 選用
要包含在總和中的元素。 有關詳細信息,請參閱
reduce
。版本 1.22.0 新增。
- 傳回值:
- nansumndarray.
除非指定了 out,否則會傳回一個新的陣列來保存結果,在這種情況下,它會被傳回。結果的大小與 a 相同,並且如果 axis 不是 None 或 a 是一維陣列,則形狀與 a 相同。
顯示哪些元素不是 NaN 或 +/-inf。
註解
如果同時存在正負無限大,則總和將為非數字 (NaN)。
>>> import numpy as np >>> np.nansum(1) 1 >>> np.nansum([1]) 1 >>> np.nansum([1, np.nan]) 1.0 >>> a = np.array([[1, 1], [1, np.nan]]) >>> np.nansum(a) 3.0 >>> np.nansum(a, axis=0) array([2., 1.]) >>> np.nansum([1, np.nan, np.inf]) inf >>> np.nansum([1, np.nan, -np.inf]) -inf >>> from numpy.testing import suppress_warnings >>> with np.errstate(invalid="ignore"): ... np.nansum([1, np.nan, np.inf, -np.inf]) # both +/- infinity present np.float64(nan)