scipy--scipy.spatial.distance.cdist

scipy.spatial.distance.cdist函数

scipy.spatial.distance.cdist(XA, XB, metric=‘euclidean’, p=None, V=None, VI=None, w=None)
该函数计算两个输入集合中每一对之间的距离。
通过metric参数指定计算距离的不同方式得到不同的距离度量值。

  • braycurtis----------Bray-Curtis 距离
  • canberra---------- 堪培拉距离
  • chebyshev----------切比雪夫距离
  • cityblock----------曼哈顿距离
  • correlation----------相关距离
  • cosine----------余弦距离
  • dice----------布尔向量之间的骰子距离
  • euclidean----------欧几里得距离(欧氏距离)
  • hamming----------归一化汉明距离
  • jaccard----------杰卡德相似系数
  • kulsinski----------布尔向量之间的 Kulsinski 距离
  • mahalanobis----------马氏距离
  • matching---------- 同汉明距离
  • minkowski----------闵可夫斯基距离(明氏距离)
  • rogerstanimoto----------布尔向量之间的 Rogers-Tanimoto 距离
  • russellrao----------布尔向量之间的 Russell-Rao 距离
  • seuclidean----------标准欧几里得距离
  • sokalmichener----------布尔向量之间的索卡尔-米切纳距离
  • sokalsneath----------矢量之间的 Sokal-Sneath 距离
  • sqeuclidean----------平方欧几里得距离
  • wminkowski----------向量之间的加权明氏距离
  • yule----------布尔向量之间的圣诞距离?

示例

from scipy.spatial.distance import cdist
import numpy as np
x1 =np.array([(1,3),(2,4),(5,6)])
x2 =[(3,7),(4,8),(6,9)]
cdist(x1,x2,metric='euclidean')
# --------------------------------------------------------
array([[ 4.47213595,  5.83095189,  7.81024968],
       [ 3.16227766,  4.47213595,  6.40312424],
       [ 2.23606798,  2.23606798,  3.16227766]])

计算两点之间的距离以点(1,3)与(3,7)点的距离为例:

np.power((1-3)**2 +(3-7)**2,1/2)
----------------------------
4.4721359549995796
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发呆的比目鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值