numpy.ma.中位数#

嘛。Median ( a , axis = None , out = None , overwrite_input = False , keepdims = False ) [来源] #

计算沿指定轴的中位数。

返回数组元素的中位数。

参数
类似数组

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

int,可选

计算中位数的轴。默认值(无)是沿着数组的扁平版本计算中位数。

输出ndarray,可选

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

overwrite_input布尔值,可选

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

keepdims布尔值,可选

如果将此设置为 True,则缩小的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。

1.10.0 版本中的新增内容。

返回
中位数ndarray

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

也可以看看

mean

笔记

给定一个V具有N非掩码值的向量, 的中位数是( ) V 的排序副本的中间值- 即,当为奇数时,或 当为偶数时。VVsVs[(N-1)/2]N{Vs[N/2 - 1] + Vs[N/2]}/2N

例子

>>> 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)