gpt4 book ai didi

python - 如何在具有偶数个条目的numpy掩码数组中获得单个中位数

转载 作者:行者123 更新时间:2023-12-04 13:26:02 28 4
gpt4 key购买 nike

我有一个 numpy 掩码 nd 数组。我需要找到沿特定轴的中位数。在某些情况下,我最终拥有偶数个元素,在这种情况下 numpy.ma.median给出中间两个元素的平均值。但是,我不想要平均值。我想要中间元素之一。两者中的任何一个都可以。我怎么得到这个?
MWE:

>>> 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)
如您所见,它正在求平均值( 16 )并提供小数值( 3.5 )。我想要任何一个 16 .

最佳答案

对于偶数个元素,中位数返回两个中间数的平均值。但是,如果你不想要平均值,只想要中间的两个数字中的一个,你可以从您的收藏中删除一个元素 在调用会使集合长度变得奇怪的中值方法时,你会得到你想要的,而不是平均值( 虽然这不是找到中值的正确方法 )

关于python - 如何在具有偶数个条目的numpy掩码数组中获得单个中位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68426022/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com