如何使用numpy

时间:2018-10-31 17:54:14

标签: python

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获得距离矩阵?

1 个答案:

答案 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.        ]]