Python 坐标列表到距离矩阵
我有一个8个坐标的列表存储为列表列表:Python 坐标列表到距离矩阵,python,numpy,matrix,distance,Python,Numpy,Matrix,Distance,我有一个8个坐标的列表存储为列表列表: coordinates = [[47.2486, -1.54806], [43.5656, 1.47417], [48.3592, -4.57], [48.1439, 17.1097], [39.6275, 140.198], [30.0458, 31.2625], [38.93
coordinates = [[47.2486, -1.54806],
[43.5656, 1.47417],
[48.3592, -4.57],
[48.1439, 17.1097],
[39.6275, 140.198],
[30.0458, 31.2625],
[38.9371, -77.0869],
[33.9, 35.4823]]
使用以下脚本,我试图输出坐标矩阵:
import numpy
from scipy.spatial.distance import pdist
coordinates_array = numpy.array(coordinates)
dist_array = pdist(coordinates_array)
dist_matrix = numpy.reshape(dist_array, newshape=(len(coordinates), len(coordinates)))
但是,我得到一个
值错误:新数组的总大小必须保持不变。这是为什么?如scipy文档中所述,使用scipy.spatial.distance.squareform
将pdist
返回的压缩距离矩阵转换为平方距离矩阵
from scipy.spatial.distance import squareform
dist_matrix = squareform(dist_array)