python使用np.linalg.norm和dist.euclidean计算欧式距离的速度比较

测试代码:

from scipy.spatial import distance as dist
import numpy as np
import time

points = [[1, 3], [8, 7]]
points = [np.array(val) for val in points]

tic = time.clock()
for i in range(50000):
    temp1 = (np.linalg.norm(points[0] - points[1]))
toc = time.clock()
print("np.linalg.norm: %.3fs" % (toc - tic))

tic = time.clock()
for i in range(50000):
    temp2 = (dist.euclidean(points[0], points[1]))

toc = time.clock()
print("dist.euclidean: %.3fs " % (toc - tic))

测试结果:

np.linalg.norm: 0.343s
dist.euclidean: 0.719s 

结论:np.linalg.norm() 比dist.enclidean()快一倍左右,推荐使用np.linalg.norm() 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值