栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

内置范围或numpy.arange:哪个更有效?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

内置范围或numpy.arange:哪个更有效?

对于大型数组,numpy应该是更快的解决方案。

在numpy中,您应该结合使用向量化计算,ufuncs和索引来解决问题,因为它可以

C
快速运行。与此相比,遍历numpy数组效率低下。

(最糟糕的事情是,使用在问题中的第一句话所示的

range
或创建的索引来遍历数组
np.arange
,但是我不确定您是否真的是这样。)

import numpy as npimport syssys.version# out: '2.7.3rc2 (default, Mar 22 2012, 04:35:15) n[GCC 4.6.3]'np.version.version# out: '1.6.2'size = int(1E6)%timeit for x in range(size): x ** 2# out: 10 loops, best of 3: 136 ms per loop%timeit for x in xrange(size): x ** 2# out: 10 loops, best of 3: 88.9 ms per loop# avoid this%timeit for x in np.arange(size): x ** 2#out: 1 loops, best of 3: 1.16 s per loop# use this%timeit np.arange(size) ** 2#out: 100 loops, best of 3: 19.5 ms per loop

因此,在这种情况下,numpy比正确使用numpy快4倍

xrange
。根据您的问题,numpy的速度可能比速度提高4到5倍要快得多。

对这些问题的答案这个问题说明了使用numpy的阵列,而不是蟒蛇列出了大型数据集的一些有利条件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652111.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号