用Python实现计算数值属性的曼哈顿距离
时间: 2023-05-28 22:07:24 浏览: 56
曼哈顿距离又称为城市街区距离,是指在二维坐标系中,两点横坐标差的绝对值与纵坐标差的绝对值之和。在Python中,可以使用以下代码实现计算数值属性的曼哈顿距离:
```python
def manhattan_distance(x, y):
"""
计算数值属性的曼哈顿距离
:param x: 数值属性向量x
:param y: 数值属性向量y
:return: 曼哈顿距离
"""
return sum(abs(a - b) for a, b in zip(x, y))
```
使用示例:
```python
x = [1, 2, 3]
y = [4, 5, 6]
print(manhattan_distance(x, y)) # 输出:9
```
相关问题
计算两个样本之间的曼哈顿距离python实现
假设两个样本分别为 x 和 y,它们的曼哈顿距离(Manhattan Distance)可以通过以下代码计算:
```python
def manhattan_distance(x, y):
return sum(abs(a-b) for a, b in zip(x, y))
```
其中,zip() 函数将 x 和 y 中对应位置的元素打包成元组,abs() 函数计算绝对值,sum() 函数计算所有元素的和。
python 计算曼哈顿距离
曼哈顿距离又称为城市街区距离,可以用以下公式计算:
$d(x,y) = \sum_{i=1}^{n}|x_i - y_i|$
其中 $x$ 和 $y$ 是两个向量,$n$ 是向量的维数。
在 Python 中,可以通过以下代码实现曼哈顿距离的计算:
```python
def manhattan_distance(x, y):
return sum(abs(a - b) for a, b in zip(x, y))
```
其中,`x` 和 `y` 是两个向量,可以是列表、元组或者 NumPy 数组等类型。`zip` 函数将两个向量的元素一一对应组成 tuple,然后使用 `sum` 函数计算每个维度上的距离之和。