import pandas as pd
import math
import numpy as np
def ManhattanDistance(x,y):
return sum(map(lambda i,j:abs(i-j),x,y))
def EuclideanDistance(x, y):
return math.sqrt(math.pow(x[0]-y[0],2)+math.pow(x[1]-y[1],2))
def SupremumDistance(x,y):
return max(abs(x[0]-y[0]),abs(x[1]-y[1]))
data = {'属性1':[1.50,2.00,1.60,1.20,1.50],
'属性2':[1.70,1.90,1.80,1.50,1.00]}
frame = pd.DataFrame(data,index=['X1','X2','X3','X4','X5'])
print(frame)
for i in range(5):
for j in range(5):
print('X'+ str(i+1) +'与'+'X' + str(j+1) +'的ManhattanDistance是:'
+str(ManhattanDistance([frame.values[i, 0], frame.values[i, 1]],
[frame.values[j, 0], frame.values[j, 1]])))
print('X'+ str(i+1) +'与'+'X' + str(j+1) +'的EuclideanDistance是:
利用Python实现计算闵可夫斯基距离、欧拉距离、曼哈顿距离
最新推荐文章于 2024-04-28 21:56:12 发布