python - 我想计算欧几里得距离并将其放入列表中。我收到范围错误,我错过了什么?
问题描述
我想评估从一个固定点到几个点的欧几里德距离,我想通过一个循环来完成。为什么不工作?我也试过没有'-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
解决方案
怎么样distance_matrix
:
from scipy.spatial import distance_matrix
distance_matrix(vettore, posizione).ravel()
输出:
array([ 1. , 2.23606798, 6.40312424, 9.21954446, 12.80624847])
推荐阅读
- git - 为什么在推送到两个不同的存储库之间 POST git-receive-pack (x bytes) 的大小翻了一番?
- angularjs - 无法加载我的 ui-calendar 模块
- r - R基础绘图系统:用用户定义的轴替换默认轴而不重叠
- azure-iot-central - 有人将 Particle electron 集成到 Azure IoT Central 吗?
- elixir - Elixir Ecto - 如何渲染关联
- vba - 删除行后更改选择?
- google-compute-engine - 不健康的 Ingress 服务
- android - 为 Android Jobscheduler 服务生成 JobId
- python - 如何在beatifulsoup中的标签前添加空格
- ios - 使 FSPDFViewCtrl 只能水平滚动?