【发布时间】:2015-08-21 17:36:13
【问题描述】:
我有两个 3000x3 向量,我想计算它们之间的 1 对 1 欧几里得距离。比如vec1是
1 1 1
2 2 2
3 3 3
4 4 4
...
vec2 是
2 2 2
3 3 3
4 4 4
5 5 5
...
我想得到结果
1.73205081
1.73205081
1.73205081
1.73205081
...
我试过scipy.spatial.distance.cdist(vec1,vec2),它返回一个 3000x3000 的矩阵,而我只需要主对角线。我也尝试了np.sqrt(np.sum((vec1-vec2)**2 for vec1,vec2 in zip(vec1,vec2))),但它并没有达到我的目的。请问有什么方法可以计算距离吗?我会很感激任何 cmets。
【问题讨论】:
-
您是否将向量存储在列表中?
-
是的,在 2 个不同的文件中。以下帖子回答了我的问题。无论如何,谢谢。
标签: python numpy scipy distance