猿问

从向量中找到最接近的数字索引

如果有参考向量,例如:

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。


ibeautiful
浏览 95回答 1
1回答

开心每一天1111

你可以做一个广播:np.abs(r[:,None]-ref).argmin(-1)输出(记住 python 是从 0 开始索引的):array([1, 2, 0, 2])
随时随地看视频慕课网APP

相关分类

Python
我要回答