numpy.median#
- numpy.median(a, axis=None, out=None, overwrite_input=False, keepdims=False)[原始碼]#
計算沿指定軸的中位數。
傳回陣列元素的中位數。
- 參數:
- a類陣列
輸入陣列或可轉換為陣列的物件。
- axis{int, 整數序列, None}, 選擇性
計算中位數的軸或多個軸。預設值 axis=None 將計算沿著陣列扁平化版本的中位數。若為軸序列,陣列會先沿著給定的軸扁平化,然後沿著產生的扁平軸計算中位數。
- outndarray, 選擇性
用於放置結果的替代輸出陣列。它必須具有與預期輸出相同的形狀和緩衝區長度,但必要時會轉換(輸出的)型別。
- overwrite_inputbool, 選擇性
若為 True,則允許使用輸入陣列 a 的記憶體進行計算。輸入陣列將會被呼叫
median
修改。當您不需要保留輸入陣列的內容時,這將節省記憶體。將輸入視為未定義,但它可能會被完全或部分排序。預設值為 False。若 overwrite_input 為True
且 a 尚不是ndarray
,則會引發錯誤。- keepdimsbool, 選擇性
若設定為 True,縮減的軸會在結果中保留為大小為一的維度。使用此選項,結果將會正確地廣播到原始陣列 arr。
- 傳回值:
- medianndarray
一個包含結果的新陣列。若輸入包含整數或小於
float64
的浮點數,則輸出資料型別為np.float64
。否則,輸出的資料型別與輸入的相同。若指定了 out,則會改為傳回該陣列。
另請參閱
說明
給定一個長度為
N
的向量V
,V
的中位數是V
排序副本V_sorted
的中間值 - 即,當N
為奇數時為V_sorted[(N-1)/2]
,以及當N
為偶數時為V_sorted
的兩個中間值的平均值。範例
>>> import numpy as np >>> a = np.array([[10, 7, 4], [3, 2, 1]]) >>> a array([[10, 7, 4], [ 3, 2, 1]]) >>> np.median(a) np.float64(3.5) >>> np.median(a, axis=0) array([6.5, 4.5, 2.5]) >>> np.median(a, axis=1) array([7., 2.]) >>> np.median(a, axis=(0, 1)) np.float64(3.5) >>> m = np.median(a, axis=0) >>> out = np.zeros_like(m) >>> np.median(a, axis=0, out=m) array([6.5, 4.5, 2.5]) >>> m array([6.5, 4.5, 2.5]) >>> b = a.copy() >>> np.median(b, axis=1, overwrite_input=True) array([7., 2.]) >>> assert not np.all(a==b) >>> b = a.copy() >>> np.median(b, axis=None, overwrite_input=True) np.float64(3.5) >>> assert not np.all(a==b)