一尘不染

Python-如何使用NumPy计算欧几里得距离?

python

我在3D中有两点:

(xa, ya, za)
(xb, yb, zb)

我想计算距离:

dist = sqrt((xa-xb)^2 + (ya-yb)^2 + (za-zb)^2)

使用NumPy或一般使用Python的最佳方法是什么?我有:

a = numpy.array((xa ,ya, za))
b = numpy.array((xb, yb, zb))

阅读 1317

收藏
2020-02-14

共1个答案

一尘不染

用途numpy.linalg.norm:

dist = numpy.linalg.norm(a-b)

背后的理论:如数据挖掘导论所述

之所以有效,是因为欧几里得距离为l2范数,并且numpy.linalg.norm 中ord参数的默认值为2。

2020-02-14