我爱编程

第四章 NumPy基础:数组和向量化计算

2018-04-10  本文已影响0人  katemiao

NumPy是Numerical Python的缩写,是Python中用于数值计算的最重要的基础包之一。 大多数提供科学功能的计算包使用NumPy的数组对象作为数据交换的通用语。

以下是NumPy的一些特性:

NumPy对于Python中的数值计算非常重要的原因之一是因为它旨在提高大型数据阵列的效率。 具体有:


为了让读者对性能差异有所了解,考虑包含一百万个整数的NumPy数组以及同等的Python列表:

In [4]: import numpy as np

In [5]: my_arr = np.arange(1000000)

In [6]: my_list = list(range(1000000))

然后将序列都乘以2:

In [7]: %time for _ in range(10): my_arr2 = my_arr * 2
CPU times: user 12.8 ms, sys: 6.24 ms, total: 19 ms
Wall time: 19.5 ms

In [8]: %time for _ in range(10): my_list2 = [x * 2 for x in my_list]
CPU times: user 662 ms, sys: 153 ms, total: 815 ms
Wall time: 813 ms

(以上时间为笔者自己电脑跑出来结果,macOS系统)
基于NumPy的算法通常比相对应的纯Python算法快10到100倍(或更多),并且使用的内存要少得多。

上一篇 下一篇

猜你喜欢

热点阅读