【发布时间】:2016-03-05 08:10:22
【问题描述】:
如果我有两个长度为 M 和 N 的一维数组,计算所有点之间的欧几里德距离的最有效方法是什么,结果是 NxM 数组?我正在尝试用 Numpy 解决这个问题,但我对它很陌生,所以我有点卡住了。
目前我正在这样做:
def get_distances(x,y):
#compute distances between all points
distances = np.zeros((len(y),len(x)))
for i in range(len(y)):
for j in range(len(x)):
distances[i,j] = (x[j] - y[i])**2
return distances
【问题讨论】:
-
当你说你的数组每个“代表空间中的一条线”时,你到底是什么意思?它们是沿某个轴还是其他距离?
-
其实我说错了,它们实际上是空间线的 y 值。我会纠正的。
标签: python python-2.7 numpy