上一主题

numpy.ma.mean

下一主题

numpy.ma.power

numpy.ma.median

numpy.ma.median(a, axis=None, out=None, overwrite_input=False, keepdims=False)[source]

计算沿指定轴的中值。

返回数组元素的中位数。

参数:

a:array_like

输入可以转换为数组的数组或对象。

axis:int,可选

计算中值的轴。默认值(None)用于计算数组的扁平版本的中值。

out:ndarray,可选

用于放置结果的替代输出数组。它必须具有与预期输出相同的形状和缓冲区长度,但如果需要,将转换类型。

overwrite_input:bool,可选

如果为True,则允许使用输入数组(a)的内存进行计算。输入数组将通过对中值的调用进行修改。当您不需要保留输入数组的内容时,这将节省内存。将输入视为未定义,但可能会完全或部分排序。默认值为False。请注意,如果overwrite_input为True,并且输入不是ndarray,则会引发错误。

keepdims:bool,可选

如果设置为True,则缩小的轴在结果中保留为尺寸为1的尺寸。使用此选项,结果将根据输入数组正确地广播。

版本1.10.0中的新功能。

返回:

median:ndarray

除非指定了out,否则将返回保存结果的新数组,在这种情况下将返回对out的引用。对于小于float64的整数和浮点型,返回数据类型为float64,否则为输入数据类型。

也可以看看

mean

笔记

Given a vector V with N non masked values, the median of V is the middle value of a sorted copy of V (Vs) - i.e. Vs[(N-1)/2], when N is odd, or {Vs[N/2 - 1] + Vs[N/2]}/2 when N is even.

例子

>>> 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.  5.],
             mask = False,
       fill_value = 1e+20)