i = np.array([[ -1, 2],
[1, 2],
[ 0, 0]])
a = np.array([[0, 2, sqrt(5)],
[2, 0, sqrt(5)],
[sqrt(5), sqrt(5), 0]])
i
的每一行都是(x,y)
格式的点的坐标。 a
是每个点之间的距离矩阵。如何使用numpy
获得距离矩阵?
答案 0 :(得分:4)
使用pdist:
import numpy as np
from scipy.spatial.distance import pdist, squareform
i = np.array([[ -1, 2],
[1, 2],
[ 0, 0]])
result = squareform(pdist(i))
print(result)
输出
[[0. 2. 2.23606798]
[2. 0. 2.23606798]
[2.23606798 2.23606798 0. ]]