欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【numpy计算欧几何距离】多点至单点的距离

程序员文章站 2022-04-02 09:39:13
...

数据表示

下面代码中的数组,第一列是表示点的ID号,第二、三列分别表示x和y坐标。

方式一

import numpy as np

a = np.array([[0, 1, 2], [1, 2, 3], [2, 3, 4]])
b = np.array([[1, 2, 3]])
d_arr = np.sqrt(np.power(a[:, 1] - b[:, 1], 2) + np.power(a[:, 2] - b[:, 2], 2))
print(d_arr)

方式二

import numpy as np
from numpy import linalg as LA

a = np.array([[0, 1, 2], [1, 2, 3], [2, 3, 4]])
b = np.array([[1, 2, 3]])
print(LA.norm(np.array([a[:, 1] - b[:, 1], a[:, 2] - b[:, 2]]), axis=0))

效率

方式二快于方式一

如果你认为对你有用,或者想要与我有更多交流,关注我的微信公众号支持我一下吧!~

【numpy计算欧几何距离】多点至单点的距离