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_inputTruea 尚不是 ndarray,則會引發錯誤。

keepdimsbool, 選擇性

若設定為 True,縮減的軸會在結果中保留為大小為一的維度。使用此選項,結果將會正確地廣播到原始陣列 arr

傳回值:
medianndarray

一個包含結果的新陣列。若輸入包含整數或小於 float64 的浮點數,則輸出資料型別為 np.float64。否則,輸出的資料型別與輸入的相同。若指定了 out,則會改為傳回該陣列。

另請參閱

mean, percentile

說明

給定一個長度為 N 的向量 VV 的中位數是 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)