numpy.median¶
-
numpy.
median
(a, axis=None, out=None, overwrite_input=False, keepdims=False)[source]¶ 计算沿指定轴的中值。
返回数组元素的中位数。
参数: a:array_like
输入可以转换为数组的数组或对象。
axis:{int,int,None},可选
计算中值的轴或轴。默认值是计算数组的平面版本中的中值。自版本1.9.0起,支持一系列轴。
out:ndarray,可选
用于放置结果的替代输出数组。它必须具有与预期输出相同的形状和缓冲区长度,但如果需要,将转换类型(输出)。
overwrite_input:bool,可选
keepdims:bool,可选
如果设置为True,则缩小的轴在结果中保留为尺寸为1的尺寸。使用此选项,结果将相对于原始arr正确广播。
版本1.9.0中的新功能。
返回: median:ndarray
保存结果的新数组。如果输入包含小于
float64
的整数或浮点数,则输出数据类型为np.float64
。否则,输出的数据类型与输入的数据类型相同。如果指定out,则返回该数组。也可以看看
笔记
给定长度
N
的向量V
,V
的中间值是V
的排序副本的中间值, ,V_sorted
- 即,V_sorted[(N-1)/2]
,当N
当N
是偶数时,V_sorted
的中间值。例子
>>> a = np.array([[10, 7, 4], [3, 2, 1]]) >>> a array([[10, 7, 4], [ 3, 2, 1]]) >>> np.median(a) 3.5 >>> np.median(a, axis=0) array([ 6.5, 4.5, 2.5]) >>> np.median(a, axis=1) array([ 7., 2.]) >>> 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) 3.5 >>> assert not np.all(a==b)