我想要计算从一个固定点到几个点的欧几里得距离,我想通过一个循环来做。为什么不起作用?我也尝试了没有'-1‘的范围,但仍然不起作用
from scipy.spatial import distance
vettore = np.array(np.mat('1 2; 3 4;6,7;8,9;10,12'))
posizione= np.array(np.mat('2,2'))
codio= []
for i in range(0,len(vettore)-1):
codio[i]=distance.euclidean(vettore[i],posizione)
codio
>>> IndexError: list assignment index out of range发布于 2020-09-30 22:58:00
distance_matrix怎么样?
from scipy.spatial import distance_matrix
distance_matrix(vettore, posizione).ravel()输出:
array([ 1. , 2.23606798, 6.40312424, 9.21954446, 12.80624847])发布于 2020-09-30 23:40:13
使用append向list中添加项目
codio= []
for i in range(0,len(vettore)-1):
codio.append(distance.euclidean(vettore[i], posizione))然而,更好的方法是使用distance_metrics作为@Quang的答案。
https://stackoverflow.com/questions/64140283
复制相似问题