【问题标题】:Finding closest number index from a vector [duplicate]从向量中找到最接近的数字索引[重复]
【发布时间】:2020-06-02 14:53:25
【问题描述】:

如果有参考向量,例如:

ref = np.array([1., 3., 5.])

还有一个随机向量:

r = np.array([3.1, 4.7, 0.1, 5.5])

对于 'r' 中的每个数字,有没有一种快速的方法可以找到 'ref' 中的关闭数字的索引?

预期结果是:

[2, 3, 1, 3]

3.1 最接近 3,所以答案是索引 2。

4.7 最接近 5,所以答案是索引 3。

0.1 最接近 1,所以答案是索引 1。

5.5 最接近 5,所以答案是索引 3。

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    你可以做一个广播:

    np.abs(r[:,None]-ref).argmin(-1)
    

    输出(记住 python 是 0-indexed):

    array([1, 2, 0, 2])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      • 2015-04-18
      相关资源
      最近更新 更多