数据表示
下面代码中的数组,第一列是表示点的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))
效率
方式二快于方式一