【发布时间】:2020-12-05 13:45:26
【问题描述】:
我想计算两个 numpy 数组的欧几里得距离。
数组中的每一行都是一个向量。
例如
a = np.array([125, 20, 210, 55], [11, 97, 111, 71])
b = np.array([51, 19, 35, 65], [59, 80, 37, 60])
我需要计算a中每一行与b中每一行的欧几里得距离。
数组的实际大小可以大到5000行4000列。
我知道如何通过两个 for 循环和一个 for 循环来做到这一点。 我需要通过矢量化 numpy 数组来解决它。 例如将数组广播给另一个数组,例如 https://numpy.org/devdocs/user/theory.broadcasting.html
不使用
spatial.distance.cdist
但是,我不知道该怎么做。
任何帮助将不胜感激。
【问题讨论】:
标签: python arrays numpy vector