numpy.ma.median#
- ma.median(a, axis=None, out=None, overwrite_input=False, keepdims=False)[源代码]#
计算沿指定轴的中位数。
返回数组元素的 S 中位数。
- 参数:
- a类数组对象
输入数组或可以转换为数组的对象。
- axisint, optional
计算中位数的轴。默认值(None)是沿数组的展平版本计算中位数。
- outndarray,可选
用于放置结果的备选输出数组。它必须具有与预期输出相同的形状和缓冲区长度,但类型将在必要时进行转换。
- overwrite_input布尔值,可选
如果为 True,则允许使用输入数组 (a) 的内存进行计算。调用 median 后,输入数组将被修改。当您不需要保留输入数组的内容时,这将节省内存。将输入视为未定义,但它可能会完全或部分排序。默认为 False。请注意,如果 overwrite_input 为 True,并且输入不是
ndarray,则会引发错误。- keepdimsbool,可选
如果设置为 True,则被缩减的轴将保留在结果中,其大小为 1。使用此选项,结果将能够与输入数组正确广播。
- 返回:
另请参阅
备注
给定一个包含
N个非掩码值的向量V,V的中位数是V的已排序副本Vs的中间值——即,当N为奇数时为Vs[(N-1)/2],当N为偶数时为{Vs[N/2 - 1] + Vs[N/2]}/2。示例
>>> import numpy as np >>> 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)