NumPy(Numerical Python)
是 Python
的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,Numpy
底层使用C语言
编写,数组中直接存储对象,而不是存储对象指针,所以其运算效率远高于纯Python代
码。我们可以在示例中对比下纯Python
与使用Numpy库
在计算列表sin值的速度对比:
import numpy as np
import math
import random
import time
start = time.time()
for i in range(10):
list_1 = list(range(1,10000))
for j in range(len(list_1)):
list_1[j] = math.sin(list_1[j])
print("使用纯Python用时{}s".format(time.time()-start))
start = time.time()
for i in range(10):
list_1 = np.array(np.arange(1,10000))
list_1 = np.sin(list_1)
print("使用Numpy用时{}s".format(time.time()-start))
从如下运行结果,可以看到使用 Numpy
库的速度快于纯 Python 编写的代码:
使用纯Python用时0.017444372177124023s
使用Numpy用时0.001619577407836914s