上QQ阅读APP看书,第一时间看更新
第1章
数值计算模块NumPy
Python语言是所谓的“胶水语言”,除了自身的语言系统和规则外,结合了大量应用于不同领域、实现不同功能的扩展程序库(又称扩展模块或软件包)。这也是Python语言获得更多应用的关键。
NumPy是Python语言的一个扩展模块,它支持多维数组与矩阵运算,为数组运算提供大量的数学函数库。
NumPy是一个在Python中进行科学计算的基础库,重在数值计算,也是大部分Python科学计算库的基础库,多用于在大型、多维数据上执行数值计算。
在NumPy中,最重要的对象是称为ndarray的N维数组类型,它是描述相同类型元素的集合,是存储单一数据类型的多维数组。NumPy的大多数功能以ndarray为核心展开。ndarray中的每个元素在内存中使用相同大小的块,这是NumPy运行速度快的基础。
NumPy是一个运行速度非常快的数学库,NumPy专门针对ndarray的操作和运算进行了设计,所以对数组的存储效率和输入/输出性能远优于Python中的嵌套列表。数组越大,NumPy的优势就越明显。NumPy通常应用于以下场景。
(1)执行各种数学任务,例如数值积分、微分、内插、外推等。
(2)将计算机中的图像表示为多维数字数组。NumPy提供了一些优秀的库函数来快速处理图像,例如镜像图像、按特定角度旋转图像等。
(3)在编写机器学习算法时,需要对矩阵进行各种数值计算,例如矩阵乘法、求逆、换位、加法等。NumPy数组可用于存储训练数据和机器学习模型的参数。
尽管Python本身有列表等类似数组功能的序列数据类型,但对于相同的运算,使用列表的执行速度不能与使用NumPy数组ndarray相比。当数据量较大时,二者会有很明显的区别,列表处理的速度会很慢。