【发布时间】:2014-01-25 21:52:00
【问题描述】:
我已使用scipy.spatial.distance.pdist(X) 计算以下列表 X 的每对元素之间的欧几里得距离度量:
X = [[0, 3, 4, 2], [23, 5, 32, 1], [3, 4, 2, 1], [33, 54, 5, 12]]
这会返回一个压缩的距离矩阵:
array([ 36.30426972, 3.87298335, 61.57109712, 36.06937759,
57.88782255, 59.41380311])
对于每个元素 X,我需要找到最接近的其他元素的索引。
将压缩距离矩阵转换为方形有助于可视化结果,但我不知道如何以编程方式识别 X 中每个元素的最接近元素 X 的索引。
array([[ 0. , 36.30426972, 3.87298335, 61.57109712],
[ 36.30426972, 0. , 36.06937759, 57.88782255],
[ 3.87298335, 36.06937759, 0. , 59.41380311],
[ 61.57109712, 57.88782255, 59.41380311, 0. ]])
我相信argmin() 是要使用的功能,但我从这里迷路了。感谢您提前提供任何帮助。
【问题讨论】:
标签: python data-structures numpy matrix scipy