9.2 NumPy 简介
本节是《Python 数据科学手册》(Python Data Science Handbook)的摘录。 译者:飞龙 协议:CC BY-NC-SA 4.0
本章以及第三章概述了在 Python 中有效加载,存储和操作内存数据的技术。
主题非常广泛:数据集可能来源于广泛的来源和各种格式,包括文档集合,图像集合,声音片段集合,数值测量集合或几乎任何其他内容。尽管存在这种明显的异质性,但它将帮助我们从根本上将所有数据视为数字数组。
例如,图像 - 特别是数字图像 - 可以看做简单的二维数字数组,表示整个区域的像素亮度。声音片段可以看做是强度与时间的一维数组。文本可以以各种方式转换为数字表示,可能是表示某些单词或单词对的频率的二元数字。
无论数据是什么,使其可分析的第一步是将它们转换为数字数组(稍后我们将在特征工程中讨论此过程的一些具体示例)。因此,数值数组的有效存储和操作,对于数据科学的过程来说绝对是基础。
我们现在来看看 Python 用于处理这种数值数组的专用工具:NumPy 包和 Pandas 包(在第三章中讨论)。
本章将详细介绍 NumPy。 NumPy(Numerical Python 的缩写)提供了一个有效的接口,来存储和操作密集数据缓冲区。在某些方面,NumPy 数组类似于 Python 的内置list
类型,但随着数组的大小增大,NumPy 数组提供了更高效的存储和数据操作。
NumPy 数组构成了 Python 中几乎整个数据科学工具生态系统的核心,因此无论你对数据科学的哪些方面感兴趣,学习有效使用 NumPy 都是值得的。
如果你按照前言中列出的建议并安装了 Anaconda 技术栈,那么你已经安装了 NumPy 并准备好了。如果你更喜欢自己动手,可以访问 http://www.numpy.org/ 并按照其中的安装说明进行操作。
完成后,你可以导入 NumPy 并仔细检查版本:
代码语言:javascript复制import numpy
numpy.__version__
# '1.11.1'
对于这里讨论的软件包,我建议使用 NumPy 1.8 或更高版本。
照惯例,你会发现 SciPy/PyData 世界中的大多数人都会使用np
作为别名来导入 NumPy:
import numpy as np
在本章以及本书的其余部分中,你会发现这是我们导入和使用 NumPy 的方式。
关于内置文档的提醒
在阅读本章时,不要忘记 IPython 使你能够快速浏览包的内容(通过使用制表符补全功能),以及各种函数的文档(使用?
字符 - 请参阅 IPython 中的帮助和文档)。
例如,要显示numpy
命名空间的所有内容,可以键入:
In [3]: np.<TAB>
要显示 NumPy 的内置文档,你可以使用:
代码语言:javascript复制In [4]: np?
更详细的文档以及教程和其他资源,请访问 http://www.numpy.org。