我在 numpy 中有一个点数组:
points = rand(dim, n_points)
我想:
- 计算某个点与所有其他点之间的所有l2范数(欧氏距离)
- 计算所有成对距离。
并且最好是所有 numpy 而不是 for。怎么做到的?
最佳答案
如果您愿意使用 SciPy,scipy.spatial.distance
模块(函数 cdist
和/或 pdist
)可以正是您想要的,所有循环都在 C 中完成。您也可以通过广播来完成,但会有一些额外的内存开销。
关于python - 点之间的欧几里得距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483100/