面向数据科学的 NumPy 简介

已完成

NumPy 是用于数据科学的 Python 中最重要的两个库之一,另一个是 pandas。 NumPy 是一个至关重要的库,用于在 Python 中有效地加载、存储和操作内存中的数据。 这些任务将是你在 Python 中进行数据科学的核心内容。

数据集来源广泛、格式多样,包括文本文档、图像、声音剪辑、数字度量以及几乎任何其他内容。 尽管其种类繁多,学习数据科学的起点是从根本上将所有数据视为数字数组。

例如,文档中的单词可以表示为计算机中对字母进行编码的数字,甚至可以表示为文档集合中特定字词的出现频率。 可将数字图像视为表示像素亮度或颜色的二维数字数组。 声音文件可以表示为频率与时间的一维数组。 无论我们的数据采用何种形式,为了分析这些数据,我们的第一步是将其转换为数字数组,这就是为何我们要使用 NumPy(以及以后使用的 pandas)。

NumPy 是 Numerical Python 的缩写。 它提供了一种在 Python 中的密集数据缓冲区上存储和操作的高效方法。 Python 中面向数组的计算可追溯到 1995 年,使用的是 Numeric 库。 在接下来的10年里,Python中的科学编程发展迅速,但图书馆合集却分裂了。 NumPy 项目始于 2005 年,它将 Numeric 项目和 NumArray 项目组合在一个基于数组的框架中。

本部分中的一些示例来自 Jake VanderPlas 的《Python 数据科学手册》(内容可在 on GitHub 上找到)以及 Wes McKinney 的《利用 Python 进行数据分析》。 《Python 数据科学手册》中的文本在 CC-BY-NC-ND 许可下发布。 代码在 MIT 许可下发布。

让我们开始探索 NumPy!

若要开始,需安装 matplotlib。 可在VS Code 中的 Python 入门中找到相关说明。

第一步是使用 np 作为别名来导入 NumPy:

import numpy as np

请习惯此约定。 这是 Python 中的常见约定。 在本课程的剩余部分,我们将使用此约定来指代 NumPy。

学习目标

在本模块中,你将:

  • 导入 NumPy 库
  • 了解 NumPy 数组与其他 Python 数据结构有何不同
  • 利用 NumPy 数组浏览数据
  • 了解 NumPy 通用函数及其使用方式和原因
  • 了解如何在 NumPy 中聚合数据
  • 了解如何在 NumPy 中广播
  • 了解如何在 NumPy 中使用布尔掩码

先决条件

设置环境

建议设置你的环境,以便可以在此模块中继续并有效地学习。

完成以下步骤来设置环境:

  1. 下载并安装 Visual Studio Code。 此工具免费,适用于 Windows、Mac 和 Linux。 选择适合你的平台的稳定版本。
  2. 下载并安装适用于 Visual Studio Code 的 Python 扩展。 此操作的第一步是安装受支持的 Python 版本。
  3. 激活 Anaconda 环境,以便能够运行 Jupyter Notebook。
  4. 设置数据科学环境,以便能够使用 NumPy 和 Pandas。

测试你的环境

如果已使用 VS Code、Python、Anaconda 以及 NumPy 和 Pandas 库成功设置环境,则应该能够在 VS Code 内运行 Jupyter Notebook。

  1. 克隆 Reactor 存储库并在 VS Code 中打开与此模块对应的文件夹。
  2. 运行 Test-Setup-Config.ipynb 文件,确保已准备好继续完成本模块。

完成此学习模块

学习本模块时,鼓励试用代码。 使用克隆的文件执行此操作。

Jupyter Notebook 分成多个单元格。 每个单元格都包含使用 Markdown 标记语言编写的文本或用于写入和执行计算机代码的空间。 由于所有代码都在代码单元格内,因此可以内联运行每个代码单元格,而不是使用单独的 Python 交互式窗口。

注意

本学习模块可让你逐一运行各个代码单元格。 完成这些模块时,建议将代码片段复制到 VS Code Jupyter Notebook,并一次运行一个单元格。