当前位置: 首页 > 面试题库 >

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

蒯胜泫
2023-03-14
问题内容

我在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))

问题答案:

用途numpy.linalg.norm:

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

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

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



 类似资料:
  • 问题内容: 我在二维空间中有一组点,需要计算每个点到另一个点的距离。 我的点数相对较少,最多不超过100个。但是,由于我需要经常快速地确定这些移动点之间的关系,并且因为我知道遍历这些点可能同样糟糕由于O(n ^ 2)的复杂性,我正在寻找利用numpy矩阵魔术(或scipy)的方法。 就象我的代码中所说的那样,每个对象的坐标都存储在其类中。但是,当我更新类坐标时,也可以用numpy数组更新它们。 我

  • 首先,我知道欧几里得距离是什么,以及它在两个向量之间做什么或计算什么。 但我的问题是如何计算两个类对象之间的距离,例如在Java或任何其他OOP语言中。我读了很多关于机器学习的东西,已经使用库等编写了分类器。但我想知道,当我有例如以下对象时,如何计算欧几里德距离: 我已经知道的是(如果我没有错!)我必须将此对象转换为表示属性或“特征”的(n)个向量/数组(在机器学习中称为?) 但我该怎么做呢?这正

  • 本文向大家介绍求mk矩阵A和nk矩阵的欧几里得距离?相关面试题,主要包含被问及求mk矩阵A和nk矩阵的欧几里得距离?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 先得到矩阵,然后对矩阵A和矩阵分别求出其中每个向量的模平方,并扩展为两个m*k的矩阵和。最终求得新的矩阵,并将此矩阵开平方得到A,B向量集的欧几里得距离。

  • 我正在寻找NumPy方法来计算两个Numpy数组(x和y)之间的Mahalanobis距离。下面的代码可以正确地计算相同的使用cdist函数的西皮。因为这个函数在我的情况下计算不必要的matix,我想要更直接的方法来计算它只使用NumPy。 我的审判: 有人能纠正这个方法吗? 下面是它的公式: http://docs.scipy.org/doc/scipy-0.14.0/reference/gen

  • 问题内容: 我有两个 x - y 坐标数组,我想找到一个数组中 每个 点与另一个数组中 所有 点之间的最小欧几里得距离。数组的大小不一定相同。例如: 我当前的方法遍历每个坐标,并计算该坐标与其他坐标之间的距离。 有没有一种方法可以消除for循环,并以某种方式在两个数组之间进行逐元素计算?我设想生成一个距离矩阵,为此我可以找到每一行或每一列中的最小元素。 看问题的另一种方法。假设我将(length

  • 问题内容: 因此,我正在用Python编写程序以获取任意数量的GCD。 该函数采用数字列表。这应该打印2。但是,我不了解如何递归使用算法,因此它可以处理多个数字。有人可以解释吗? 更新,仍然无法正常工作: 好,解决了 然后使用reduce,就像 问题答案: 由于GCD具有关联性,因此与相同。在这种情况下,Python的函数将是将情况`len(numbers) 2`简化为简单的2数比较的理想选择。代