我有两个二维坐标点阵列(x,y)

a = [ (x1,y1), (x2,y2), ... (xN,yN) ]
b = [ (X1,Y1), (X2,Y2), ... (XN,YN) ]

如何在(xi,yi) to (Xi,Yi)数组中找到每个对齐对1xN之间的欧几里德距离?
scipy.spatial.cdist函数提供NxN数组中所有对之间的距离。
如果我只是用norm函数一个一个地计算距离,那似乎很慢。
是否有内置函数来执行此操作?

最佳答案

我没有看到内置的,但是你可以很容易地自己做。

distances = (a-b)**2
distances = distances.sum(axis=-1)
distances = np.sqrt(distances)

07-28 06:55