numpy.ma.median#
- ma.median(a, axis=None, out=None, overwrite_input=False, keepdims=False)[原始碼]#
沿指定軸計算中位數。
傳回陣列元素的中位數。
- 參數:
- aarray_like
輸入陣列或可轉換為陣列的物件。
- axisint,選用
計算中位數的軸。預設值 (None) 是沿陣列的展平版本計算中位數。
- outndarray,選用
放置結果的替代輸出陣列。它必須具有與預期輸出相同的形狀和緩衝區長度,但如果需要,類型將會被轉換。
- overwrite_inputbool,選用
如果為 True,則允許使用輸入陣列 (a) 的記憶體進行計算。輸入陣列將會被中位數的呼叫修改。當您不需要保留輸入陣列的內容時,這將節省記憶體。將輸入視為未定義,但它可能會被完全或部分排序。預設值為 False。請注意,如果 overwrite_input 為 True,且輸入還不是
ndarray
,則會引發錯誤。- keepdimsbool,選用
如果設定為 True,則被縮減的軸將保留在結果中,作為大小為一的維度。使用此選項,結果將正確地廣播到輸入陣列。
- 傳回值:
另請參閱
註解
給定一個具有
N
個非遮罩值的向量V
,V
的中位數是V
的排序副本 (Vs
) 的中間值 - 即當N
為奇數時為Vs[(N-1)/2]
,或當N
為偶數時為{Vs[N/2 - 1] + Vs[N/2]}/2
。範例
>>> import numpy as np >>> x = np.ma.array(np.arange(8), mask=[0]*4 + [1]*4) >>> np.ma.median(x) 1.5
>>> x = np.ma.array(np.arange(10).reshape(2, 5), mask=[0]*6 + [1]*4) >>> np.ma.median(x) 2.5 >>> np.ma.median(x, axis=-1, overwrite_input=True) masked_array(data=[2.0, 5.0], mask=[False, False], fill_value=1e+20)