第4章 科学计算基础软件包NumPy
NumPy是Python科学计算的基础软件包,提供了多维数组类(numpy.ndarray)及其派生类(掩码数组、矩阵等),以及用于快速操作数组的函数和API,涵盖基本线性代数、基本统计运算、随机模拟等诸多数学和工程领域。和Python的列表相比,NumPy数组在运行速度上拥有明显的优势。NumPy底层使用C语言编写,内置并行运算功能,并且内部解除了GIL(Global Interpreter Lock,全局解释器锁),这意味着NumPy在运行速度和并行计算方面有着先天优势。
- NumPy对数组的操作速度不受Python解释器的限制。
- 当系统有多个CPU时,NumPy可以自动进行并行计算。
NumPy的数据组织结构,尤其是多维数组类(numpy.ndarray),几乎已经成为所有数据处理与机器学习的标准数据结构。越来越多基于Python的机器学习和数据处理软件包开始使用NumPy数组,虽然这些软件包通常都支持Python列表作为参数,但它们在处理之前还是会将输入的Python列表转换为NumPy数组,而且输出也通常为NumPy数组。在Python的阵营里,NumPy的重要性和普遍性日趋增强。换句话说,为了高效地使用机器学习和数据处理等基于Python的工具包,只知道如何使用Pyt