计算Python Numpy向量之间的欧氏距离实例

计算Python Numpy向量之间的欧氏距离,已知vec1和vec2是两个Numpy向量,欧氏距离计算如下:

import numpy
dist = numpy.sqrt(numpy.sum(numpy.square(vec1 - vec2)))

或者直接:

dist = numpy.linalg.norm(vec1 - vec2)

补充知识:Python中计算两个数据点之间的欧式距离,一个点到数据集中其他点的距离之和

如下所示:

计算数两个数据点之间的欧式距离

import numpy as np
def ed(m, n):
 return np.sqrt(np.sum((m - n) ** 2))
i = np.array([1, 1])
j = np.array([3, 3])
distance = ed(i, j)
print(distance)

在jupyter 中运输代码输出结果如下:

计算一个点到数据集中其他点的距离之和

from scipy import *
import pylab as pl

all_points = rand(500, 2)
pl.plot(all_points[:, 0], all_points[:, 1], 'b.')
pl.show()

在jupyter 中运输代码输出结果如下:

from scipy import *
import pylab as pl

all_points = rand(500, 2)
pl.plot(all_points[:, 0], all_points[:, 1], 'b.')
pl.show()

定义函数计算距离

def cost(c, all_points): #指定点,all_points:为集合类的所有点
return sum(sum((c - all_points) ** 2, axis=1) ** 0.5)

以上这篇计算Python Numpy向量之间的欧氏距离实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用Python三角函数公式计算三角形的夹角案例

    题目内容: 对于三角形,三边长分别为a, b, c,给定a和b之间的夹角C,则有:.编写程序,使得输入三角形的边a, b, c,可求得夹角C(角度值). 输入格式: 三条边a.b.c的长度值,每个值占一行. 输出格式: 夹角C的值,保留1位小数. 输入样例: 3 4 5 输出样例: 90.0 code: import math a = float(eval(input('请输入a的边长'))) b = float(eval(input('请输入b的边长'))) c = float(eval(in

  • 基于python实现计算两组数据P值

    我们在做A/B试验评估的时候需要借助p_value,这篇文章记录如何利用python计算两组数据的显著性. 一.代码 # TTest.py # -*- coding: utf-8 -*- ''' # Created on 2020-05-20 20:36 # TTest.py # @author: huiwenhua ''' ## Import the packages import numpy as np from scipy import stats def get_p_value(arrA

  • python中如何进行连乘计算

    1.Python中连乘的代码: sum = 1; n = int(input("Please input number n:")) for i in range(1,n+1): sum = sum*i; if i<n: print(i,end='') print("*",end = '') print(i,"=",sum) 2.运行结果 实例扩展: python 连乘 递归 参数可以是多个可迭代对象 from functools impor

  • python shapely.geometry.polygon任意两个四边形的IOU计算实例

    在目标检测中一个很重要的问题就是NMS及IOU计算,而一般所说的目标检测检测的box是规则矩形框,计算IOU也非常简单,有两种方法: 1. 两个矩形的宽之和减去组合后的矩形的宽就是重叠矩形的宽,同比重叠矩形的高 2. 右下角的minx减去左上角的maxx就是重叠矩形的宽,同比高 然后 IOU = 重叠面积 / (两矩形面积和-重叠面积) 然,不规则四边形就不能通过这种方式来计算,找了好久数学资料,还是没找到答案(鄙人数学渣渣),最后看了白翔老师的textBoxes++论文源码后,知道python

  • 基于python计算并显示日间、星期客流高峰

    1.中国工商银行日间客流高峰提示牌的实现 import math #时间段 time = ['08:00','09:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00'] #时间段客流人数 person = ['572','1236','7634','8799','9876','4562','1038','453'] #输出标题,center返回一个长度为30,两边用单字符(默认为空格)填充的字符串 print('中国工商银行日间

  • Python计算信息熵实例

    计算信息熵的公式:n是类别数,p(xi)是第i类的概率 假设数据集有m行,即m个样本,每一行最后一列为该样本的标签,计算数据集信息熵的代码如下: from math import log def calcShannonEnt(dataSet): numEntries = len(dataSet) # 样本数 labelCounts = {} # 该数据集每个类别的频数 for featVec in dataSet: # 对每一行样本 currentLabel = featVec[-1] # 该样

  • python怎么提高计算速度

    下面是python中的一个函数计算代码: loops=25000000 from math import* a=range(1,loops) def f(x): return 3*cos(x)+4*sin(x)**2 %timeit r=(f(x) for x in a) 效率: 1000000 loops, best of 3: 552 ns per loop 下面我们就来看一下提高计算速度的方法: 1.使用数组 import numpy as np a = np.arange(1, loop

  • 计算Python Numpy向量之间的欧氏距离实例

    计算Python Numpy向量之间的欧氏距离,已知vec1和vec2是两个Numpy向量,欧氏距离计算如下: import numpy dist = numpy.sqrt(numpy.sum(numpy.square(vec1 - vec2))) 或者直接: dist = numpy.linalg.norm(vec1 - vec2) 补充知识:Python中计算两个数据点之间的欧式距离,一个点到数据集中其他点的距离之和 如下所示: 计算数两个数据点之间的欧式距离 import numpy as

  • Python 计算任意两向量之间的夹角方法

    如图所示,我们要计算任意两个向量之间的夹角. (图中的坐标数字是估计值,随手给定) python代码如下 import math AB = [1,-3,5,-1] CD = [4,1,4.5,4.5] EF = [2,5,-2,6] PQ = [-3,-4,1,-6] def angle(v1, v2): dx1 = v1[2] - v1[0] dy1 = v1[3] - v1[1] dx2 = v2[2] - v2[0] dy2 = v2[3] - v2[1] angle1 = math.at

  • Python numpy 点数组去重的实例

    废话不多说,直接上代码,有详细注释 # coding = utf-8 import numpy as np from IPython import embed # xy 输入,可支持浮点数操作 速度很快哦 # return xy 去重后结果 def duplicate_removal(xy): if xy.shape[0] < 2: return xy _tmp = (xy*4000).astype('i4') # 转换成 i4 处理 _tmp = _tmp[:,0] + _tmp[:,1]*1

  • python numpy 按行归一化的实例

    如下所示: import numpy as np Z=np.random.random((5,5)) Zmax,Zmin=Z.max(axis=0),Z.min(axis=0) Z=(Z-Zmin)/(Zmax-Zmin) print(Z) 以上这篇python numpy 按行归一化的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python科学计算包numpy用法实例详解

    本文实例讲述了Python科学计算包numpy用法.分享给大家供大家参考,具体如下: 1 数据结构 numpy使用一种称为ndarray的类似Matlab的矩阵式数据结构管理数据,比python的列表和标准库的array类更为强大,处理数据更为方便. 1.1 数组的生成 在numpy中,生成数组需要指定数据类型,默认是int32,即整数,可以通过dtype参数来指定,一般用到的有int32.bool.float32.uint32.complex,分别代表整数.布尔值.浮点型.无符号整数和复数 一

  • Python:Numpy 求平均向量的实例

    如下所示: >>> import numpy as np >>> a = np.array([[1, 2, 3], [3, 1, 2]]) >>> b = np.array([[5, 2, 6], [5, 1, 2]]) >>> a array([[1, 2, 3], [3, 1, 2]]) >>> b array([[5, 2, 6], [5, 1, 2]]) >>> c = a + b >

  • Python Numpy计算各类距离的方法

    详细: 1.闵可夫斯基距离(Minkowski Distance) 2.欧氏距离(Euclidean Distance) 3.曼哈顿距离(Manhattan Distance) 4.切比雪夫距离(Chebyshev Distance) 5.夹角余弦(Cosine) 6.汉明距离(Hamming distance) 7.杰卡德相似系数(Jaccard similarity coefficient) 8.贝叶斯公式 1.闵氏距离的定义: 两个n维变量A(x11,x12,-,x1n)与 B(x21,x

  • 在python Numpy中求向量和矩阵的范数实例

    np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False) ①x: 表示矩阵(也可以是一维) ②ord:范数类型 向量的范数: 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根 ord=∞:行和的最大值 ③axis:处理类型 axis=1表

  • python科学计算之numpy——ufunc函数用法

    写在前面 ufunc是universal function的缩写,意思是这些函数能够作用于narray对象的每一个元素上,而不是针对narray对象操作,numpy提供了大量的ufunc的函数.这些函数在对narray进行运算的速度比使用循环或者列表推导式要快很多,但请注意,在对单个数值进行运算时,python提供的运算要比numpy效率高. 四则运算 numpy提供的四则ufunc有如下一些: numpy提供的四则运算unfunc能够大大的提高计算效率,但如果运算式复杂,且参与运算的narra

  • Python科学计算之NumPy入门教程

    前言 NumPy是Python用于处理大型矩阵的一个速度极快的数学库.它允许你在Python中做向量和矩阵的运算,而且很多底层的函数都是用C写的,你将获得在普通Python中无法达到的运行速度.这是由于矩阵中每个元素的数据类型都是一样的,这也就减少了运算过程中的类型检测. 矩阵基础 在 numpy 包中我们用数组来表示向量,矩阵和高阶数据结构.他们就由数组构成,一维就用一个数组表示,二维就是数组中包含数组表示. 创建 # coding: utf-8 import numpy as np a =

随机推荐