NumPy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API, 有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。
接下来会介绍和讨论高效的装载,存储和处理Python中内存数据的技巧。 这个主题非常广泛:数据集可能来自非常不同的来源和非常不同的格式,包括文档的集合,图像的集合,声音片段的集合,数值测量的集合,甚至其他任何东西的集合。 尽管数据集有着超出想象的异质性,我们还是可以将所有的数据抽象成为数值组成的数组。
例如图像,这里我们特指数字图像,可以被认为是简单的二维数组,包含着代表这区域内每个像素亮度的数值。声音片段可以被认为是一维的数组,包含着时间范围内声音强度的数值。文本可以使用各种方法转换成为数值方式表示,比方说使用二进制数字表示某个单词或短语的出现频率。无论数据是哪种类型,我们对它们进行处理的时候,第一步总是设计将它们转换为数值。
因此,有效的存储和处理数值数组对于数据科学来说是最根本的能力。我们接下来会讨论Python中具备这样强大功能的特殊工具:NumPy。
本章会详细介绍NumPy(Numerical Python 数值Python的缩写),它提供了强大的接口供我们存储和操作非稀疏数据集合。
在某些情况下,NumPy的数组表现得就像Python內建的 列表
,但是NumPy数组在存储和操作大量数据集合的时候提供了有效得多的功能和性能。
NumPy数组是Python的数据科学领域工具链的核心,很多其他的工具都是在它的基础上构建的,因此无论你感兴趣的是数据科学的哪个领域,NumPy都值得你花时间进行钻研。