gpt4 book ai didi

python - 在 python 中使用 scipy.spatial.distance.cdist(X, Y) 查找一组点之间的距离

转载 作者:行者123 更新时间:2023-12-01 05:24:28 38 4
gpt4 key购买 nike

我有一个数据数组,称为 A,看起来像:

array([[0.59, 1.23], [0.89, 1.67], [0.21,0.99]...])

其中大约有 400 组 [x,y] 点。我想找到 A 中的每组点到 B 中的每组点之间的距离,这是另一个数组,看起来与 A 完全相同,但长度是 A 的一半(所以大约 200 组 [x,y] 点) 。因此,如果我想找到 B 中第 q 对 [x,y] 值与 A 中所有 [x,y] 值之间的距离,我尝试按照以下方式做一些事情

import scipy.spatial.distance
for q in range(0,len(B)):
y=scipy.spatial.distance.cdist(A,B[:q,:])

但我认为这不起作用。我只想要一个输出,显示 B 的第 q 行与 A 中的所有点之间的距离。

最佳答案

两种解决方案:

直接计算完整矩阵,并访问 A 和 B[q] 之间的值的第 q 列。

d = scipy.spatial.distance.cdist(A,B)

for q in range(len(B)):
y = d[:,q]
print y

如果生成的矩阵太大而无法保存在内存中。你可以这样做。

for q in range(len(B)):
y = scipy.spatial.distance.cdist(A,[B[q]])
print y

关于python - 在 python 中使用 scipy.spatial.distance.cdist(X, Y) 查找一组点之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21661802/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com