Python 计算距离

  • Post category:Python

Python可以通过多种方式计算距离,比如欧氏距离,曼哈顿距离等。下面将对几种比较常用的距离计算方法进行介绍,供大家参考。

欧氏距离

欧氏距离是计算二维, 三维等空间距离的基本方法,公式如下:

$$
d(x,y)=\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2}
$$

其中,$x$和$y$是两个向量,$n$表示向量的维数。

在Python中,可以使用numpy库来计算欧氏距离。下面是一个示例代码:

import numpy as np

x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

dist = np.linalg.norm(x-y)
print(dist)

运行结果为:

5.19615242271

曼哈顿距离

曼哈顿距离是计算城市网格中两点之间的距离的方法,即两点在距离方向上的距离之和,公式如下:

$$
d(x,y)=\sum_{i=1}^{n}|x_i-y_i|
$$

同样的,我们可以使用numpy库来计算曼哈顿距离。下面是一个示例代码:

import numpy as np

x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

dist = np.sum(np.abs(x-y))
print(dist)

运行结果为:

9

除了欧氏距离和曼哈顿距离,还有其他的距离计算方法,比如闵可夫斯基距离、切比雪夫距离等,大家可以根据自己的需要来选择合适的方法。