gpt4 book ai didi

python - 使用 scipy 计算欧氏距离给出意想不到的结果

转载 作者:太空宇宙 更新时间:2023-11-04 01:50:05 32 4
gpt4 key购买 nike

我想计算 X 和 Y 之间的欧氏距离,其中 X 不是静态的。所以,X 是由范围的组合定义的。:

a= np.arange(0.2,0.41,0.1)
b= np.arange(2,8,1)
c= np.arange(40,61,5)
d= np.arange(40,61,5)
e= np.arange(0,11,5)
f= np.arange(25,71,5)

from itertools import product
X = list(product(a,b,c,d,e,f))
X = np.around(X,2)

from scipy.spatial.distance import euclidean
dis = []
for x in np.nditer(X):
d = euclidean(x,[0.2,2,40,40,0,25]) #Inset Y here
dis.append(d)

min(dis)

因为在这种情况下,为了测试一切是否如我所愿,我输入了 Y,它是 X 的可能值之一。我预计我的最小距离为 0,但是在这种情况下,情况并非如此(~ 47).

最佳答案

问题是您要遍历 X 中的每个单独数字,而不是仅遍历行。只需删除对 np.nditer(X) 的调用并直接迭代 X

for x in np.nditer(X):

应该只是

for x in X:

关于python - 使用 scipy 计算欧氏距离给出意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58212061/

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