Python--欧式距离

本文详细介绍了欧氏距离的概念及其在不同维度空间中的计算公式,并提供了两种Python实现方式,包括公式直接求解和使用scipy库进行计算。

参考链接:https://www.cnblogs.com/denny402/p/7027954.html

欧氏距离(Euclidean Distance)
       欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。
(1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:

(2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:

(3)两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:

(4)也可以用表示成向量运算的形式:

python中的实现:

import numpy as np
x=np.random.random(10)
y=np.random.random(10)

#方法一:根据公式求解
d1=np.sqrt(np.sum(np.square(x-y)))

#方法二:根据scipy库求解
from scipy.spatial.distance import pdist
X=np.vstack([x,y])           #将x,y两个一维数组合并成一个2D数组 ;[[x1,x2,x3...],[y1,y2,y3...]]
d2=pdist(X)                  #d2=np.sqrt((x1-y1)
2
+(x2-y2)
2
+....)

  

转载于:https://www.cnblogs.com/gegemu/p/9968014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值