我有一个Numpy的掩码多维数组。我需要在特定轴上找到中位数。对于某些情况,我最终得到元素数量为偶数,在这种情况下numpy.ma.median
会给出中间两个元素的平均值。但是,我不想要平均值。我想要其中一个中位数元素。任何一个都可以。我该怎么做?
代码示例:
>>> import numpy
>>> data=numpy.arange(-5,10).reshape(3,5)
>>> mdata=numpy.ma.masked_where(data<=0,data)
>>> numpy.ma.median(mdata, axis=0)
masked_array(data=[5.0, 3.5, 4.5, 5.5, 6.5],
mask=[False, False, False, False, False],
fill_value=1e+20)
正如您所看到的,它正在对 (1
和 6
) 进行平均,并提供小数值 (3.5
)。我想要其中的任意一个 1
或 6
。