【发布时间】:2013-06-11 16:26:33
【问题描述】:
我想在一个大于我的搜索值的 numpy 数组中获取最近值的索引。示例:findNearestAbove(np.array([0.,1.,1.4,2.]), 1.5) 应返回 3(2 的索引)。
我知道我可以用np.abs(a-value).argmin() 获得最近的索引,我发现min(a[np.where(a-value >= 0.)[0]]) 返回所需的数组值。因此,np.where(a == min(a[np.where(a-value >= 0.)[0]]))[0] 可能会给我所需的索引。但是,这看起来相当复杂,我担心它可能会在多维数组的情况下中断。有什么建议可以改进吗?
【问题讨论】:
-
“最近”是指“最左边”?
-
你的数组总是按升序排列吗?
-
澄清一下:“最近”的意思是“按价值”。另外:否 - 数组不一定是排序的。