上QQ阅读APP看书,第一时间看更新
2.4.2 NumPy模块
Python中有一些数据类型,例如列表、字典、集合等,可以用于保存一系列的数据信息。不过对于大规模的数据计算,它们并不都适用。在AI领域的计算中,大规模数据一般以向量形式保存。NumPy模块是专门用于向量计算的模块。让我们看看下面的例子。
首先建立一个列表,再建立一个数组,输出并观察二者的类型,可以看到二者的类型是不一样的。x_list是列表(list)类型的,x_array是NumPy数组类型的。
import numpy as np
x_list=[1,2,3,4]
type(x_list)
list
x_array=np.array([1,2,3,4])
type(x_array)
numpy.ndarray
NumPy数组类型的重要特点在于支持向量化计算,例如我们要计算数值的平方再求和,如果使用列表类型,需要写一个循环,或者使用列表解析来完成。
x_sum=0
for x in x_list:
x_sum=x_sum+x**2
print(x_sum)
30
sum([x**2 for x in x_list])
30
如果使用NumPy数组类型,则更加简单,它可以直接对每个数值做平方运算。通过这个例子可以看到NumPy数组类型的优点,它的向量化计算非常方便、快速。
sum(x_array**2)
30