numpy.nanmean#

numpy.nanmean(a, axis=None, dtype=None, out=None, keepdims=<no value>, *, where=<no value>)[原始碼]#

計算沿指定軸的算術平均值,忽略 NaN。

傳回陣列元素的平均值。預設情況下,平均值取自展平的陣列,否則取自指定的軸。float64 中間值和傳回值用於整數輸入。

對於全為 NaN 的切片,將傳回 NaN 並引發 RuntimeWarning

參數:
aarray_like

包含要計算平均值的數字的陣列。如果 a 不是陣列,則會嘗試轉換。

axis{int, tuple of int, None}, optional

計算平均值的軸或軸。預設值是計算展平陣列的平均值。

dtypedata-type, optional

用於計算平均值的類型。對於整數輸入,預設值為 float64;對於非精確輸入,它與輸入 dtype 相同。

outndarray, optional

放置結果的替代輸出陣列。預設值為 None;如果提供,則它必須具有與預期輸出相同的形狀,但如有必要,將強制轉換類型。有關更多詳細資訊,請參閱輸出類型判斷

keepdimsbool, optional

如果設定為 True,則縮減的軸將保留在結果中,作為大小為一的維度。使用此選項,結果將針對原始 a 正確廣播。

如果值不是預設值,則 keepdims 將傳遞到 meansum ndarray 子類別的方法。如果子類別方法未實作 keepdims,則會引發任何例外。

wherearray_like of bool, optional

要包含在平均值中的元素。有關詳細資訊,請參閱 reduce

1.22.0 版本新增。

傳回值:
mndarray, 請參閱上面的 dtype 參數

如果 out=None,則傳回包含平均值的新陣列,否則傳回對輸出陣列的參考。對於僅包含 NaN 的切片,將傳回 Nan。

另請參閱

average

加權平均值

mean

計算算術平均值時不忽略 NaN

var, nanvar

註解

算術平均值是非 NaN 元素沿軸的總和除以非 NaN 元素的數量。

請注意,對於浮點輸入,平均值是使用與輸入相同的精度計算的。根據輸入資料,這可能會導致結果不準確,尤其是對於 float32。使用 dtype 關鍵字指定更高精度的累加器可以減輕此問題。

範例

>>> import numpy as np
>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.nanmean(a)
2.6666666666666665
>>> np.nanmean(a, axis=0)
array([2.,  4.])
>>> np.nanmean(a, axis=1)
array([1.,  3.5]) # may vary