
Jupyter Notebook 是用于技术与数据科学内容的文档。本教程概述 Jupyter Notebook、其组成部分以及使用方法。
我们将通过 DataLab 来探索 Notebook。DataLab 是一项托管式 Notebook 服务,既提供 Jupyter Notebook 的全部功能,也支持连接数据库、实时协作与发布作品。
本教程假设您曾使用过数据科学编程语言,如 Python、SQL、R 或 Julia。
Notebook 概览
Notebook 将计算机代码(如 Python、SQL 或 R)、运行代码产生的输出,以及富文本元素(格式、表格、图形、公式、链接等)组合在同一个文档中。
Notebook 的关键优势在于可以在代码旁直接加入说明性文字。这意味着您可以避免将分析结果复制粘贴到单独报告中的易错流程。相反,您只需在 Notebook 中将分析与报告文字混排即可。
谁应该使用 Jupyter Notebooks?
Jupyter Notebooks 主要被数据从业者使用,尤其是数据分析师与数据科学家。根据 Kaggle 2022 年度调查结果,Jupyter Notebooks 是最受欢迎的数据科学 IDE,超过 80% 的受访者在使用。
Jupyter Notebook 的类型
Jupyter Notebook 主要有两种类型:托管式与本地。DataCamp 提供 DataLab,这是一款托管式 Jupyter Notebook,我们将在本教程的大部分内容中使用它。对于不想搭建本地环境的学习者与专业人士而言,DataLab 是极佳选择。
除非另有说明,本教程中描述的功能也适用于其他 Jupyter Notebook 版本。如果您更喜欢使用本地环境,可参考我们的 安装 Jupyter Notebook 教程在本机进行安装。Marcus Schanta 还维护了一份其他托管式 Notebook 平台清单。
Notebook 的组成部分
一个 Jupyter Notebook 由三个主要部分组成:单元格、运行环境与文件系统。
单元格是 Notebook 的基本单元,内容可以是文本或代码:
- 文本单元用于撰写叙述性文字,并可包含图片、链接与公式。
- 文本单元使用 Markdown 这种简单的标记语言书写。
- 代码单元用于编写并执行代码。
- 代码单元的输出会直接显示在该单元格下方。
- SQL 单元(仅限 DataLab)用于执行 SQL 查询,也就意味着您可以轻松从数据库检索数据。
- 图表单元(仅限 DataLab)可用于创建可视化,并快速展示 Pandas 数据框。
运行环境负责执行 Notebook 中的代码。它可以配置为支持不同的语言,包括 Python、R 或 SQL。
文件系统允许您上传、存储与下载数据文件、代码文件,以及分析产生的输出。
命令模式与编辑模式
Jupyter Notebook 提供两种交互模式:命令模式与编辑模式。在命令模式中,您可以在单元格之间导航、添加与删除单元格、以及更改单元格类型。在编辑模式中,您可以编辑单元格内容。
进入命令模式,可按下 Escape 或点击单元格外部。进入编辑模式,可按 Enter 或点击单元格内部。
在 DataLab 中,您可以点击“Add Text”或“Add Code”按钮来添加新单元格。

获取帮助
对于 Jupyter Notebook,您可以查阅文档或通过菜单中的选项获取帮助。在 DataLab 中,可通过按下菜单中的帮助按钮快速访问帮助与键盘快捷键。

编写文本
文本单元使用 Markdown 标记语言书写,便于您轻松撰写并排版文本。在编辑模式下,您可以使用如 ** ** 表示加粗等语法,或使用按钮来设置文本格式。
以下是一些示例:

按下 shift + enter 或“View”按钮将运行该单元,并得到如下结果。

- 以 # 开头的行是一级标题。以 ## 开头为二级标题,### 为三级标题,依此类推。
- 用 ** 包围文本可加粗,用 __ 可设为斜体,用 ` 可将其设为代码格式。
- 连续多行以 - 开头可创建项目符号列表。
- 以数字加句点开头的行可创建编号列表。
- 超链接由两部分组成。显示文本置于方括号中,URL 置于圆括号中。
编写并运行代码
点击“Add Code”,或在命令模式(escape)下按“B”,即可添加新的代码块。

像在脚本中一样在单元格内编写代码。

点击 Run 或按 CTRL/CMD+Enter 运行代码并显示其输出。

读写文件
点击左侧菜单中的“Browse and upload files”将打开文件系统,点击“加号”即可从本地设备上传文件。如下所示,我们上传了一个名为 hello_world.txt 的简单文本文件。


我们可以使用以下代码打开该文件、添加一些文本,然后保存为新文件。

现在您会在文件系统中看到新文件,且其中包含了我们的更新。

使用文件系统
我们已演示如何上传、更新并创建新文件。要下载该新文件,请在文件系统中点击三个点,然后选择下载。

用于创建新文件的加号按钮也可用于创建全新的 Notebook,此时其中不含任何单元格或输出。

管理单元格
您可以使用上移与下移按钮快速重新排序单元格,如下图所示。

这将改变代码的顺序。(请注意,如果以错误顺序运行,您的代码可能会出错!)
“Hide Code”按钮可折叠并隐藏代码;对于当前不在处理的超长代码块很有用。若您的分析读者不关心技术细节、只想看结果,这也很实用。

同样,“Hide Output”按钮可以隐藏较长的输出。
这些按钮也可以配合使用,同时隐藏代码和输出。
发布报告(仅限 DataLab)
DataLab 允许您将 Notebook 发布为出版物。这是展示您优秀成果并与其他数据科学家协作的好方式。
您可以通过点击侧边菜单中的“Publish”按钮来发布 Notebook。随后点击发布以共享您的 Notebook。发布前从上到下运行一次 Notebook 是个好主意。这有助于检查代码并确保可读性,因为多数人会自上而下阅读。

Notebook 发布后,其他用户可以查看该出版物并对各个单元格发表评论。您也可以对他人的作品这样做。这是开启讨论或理解复杂代码的绝佳方式。这里有一个Workspace 示例。

共享 Jupyter Notebooks(仅限 DataLab)

共享工作簿是另一个仅在 DataLab 提供的实用功能。由于 Notebook 是托管的,您可以共享公开或私密且受控访问的链接,接收者可自行运行。
这是极佳的协作方式。数据科学领域广博而深入,没有任何一个人能面面俱到。无论是高效的代码、引人入胜的可视化,还是准确的模型,数据科学家都必须协作以获得最佳结果。DataLab 支持实时协作,允许多人同时编辑同一个 Notebook。
要共享您的 Notebook,请点击右上角的分享按钮。在此您可以复制链接、将 Notebook 设为私密/公开,并(在私密时)设置可访问的人员。
更进一步
立即注册免费的 DataLab,开启您的数据科学之旅。如果遇到问题,DataLab 文档是查找更多信息的好去处。