第2章 机器学习模块之数组计算NumPy

NumPy,全称为Numerical Python,是性能比较高的科学计算和数据分析的基础包。它具有ndarray(被称为多维数组)这样的数据类型,这种数组是具有矢量算术运算和复杂广播能力的快速且节省空间的数组。有了ndarray这种数据类型的NumPy无须循环遍历数组中的每个元素,就可以对整组数据进行快速运算。NumPy提供了支持快速运算的标准数学方法,也提供了读写磁盘数据的工具,以及用于操作内存映射文件的工具,还有线性代数运算、随机数生成以及傅里叶变换功能。

从生态系统角度来看,NumPy最重要的特点在于提供了简单、易用的CAPI,因此很容易将数据传递到由“更低级语言”编写的外部库,外部库也能以NumPy数组的形式将数据返回给Python。这样NumPy使Python成为一种包装C/C++/Fortran历史编码库的选择,并使被包装库拥有动态的、易用的接口。

NumPy本身并没有提供那么高级的数据分析功能。NumPy之所以成为机器学习的工具模块,其根本在于NumPy数组以及面向数组的计算将有助于高效地使用诸如Pandas之类的工具。