我有两个数组
对于
我可以使用列表表达式来解决这个问题。
A
和 B
。现在暂时把它们都当作一维数组。对于
A
中的每个元素,我都需要找到在 B
中最匹配该元素的元素索引。我可以使用列表表达式来解决这个问题。
import numpy as np
A = np.array([ 1, 3, 1, 5 ])
B = np.array([ 1.1, 2.1, 3.1, 4.1, 5.1, 6.1 ])
indices = np.array([ np.argmin(np.abs(B-a)) for a in A ])
print(indices) # prints [0 2 0 4]
print(B[indices]) # prints [1.1 3.1 1.1 5.1]
但是对于大型数组,这种方法非常缓慢。
我在想是否有一种更快的方法,可以利用优化后的NumPy函数。