我有n对具有m个维度的向量,我想找到最快的方法计算这n对向量的eculidian距离。我想找到最快的方法来计算这n对向量的eculidian距离。一种方法是迭代每对向量,计算向量之间的距离。
如果我理解你的问题,你有两个坐标数组,你想要元素--欧几里得距离。如果是这样,请看下面的例子
>>> import numpy as np
>>> a = np.array([[1,2], [3,4], [5,6], [7,8]])
>>> b = np.array([[2,4], [1,1], [8,9], [1,2]])
您可以使用 numpy.linalg.norm
连同 axis
参数来计算元素的欧几里得距离。
>>> np.linalg.norm(a - b, axis=1)
array([2.23606798, 3.60555128, 4.24264069, 8.48528137])