跳至主要内容

如何使用 Jupyter Notebooks:终极指南

本文介绍什么是 Notebook,以及为何应当使用它们。我们还将深入介绍托管式 Notebook,它能促进共享与协作。文章同样涵盖了技巧、提示和键盘快捷键。
· 7分钟 阅读

使用 AI 探索

Jupyter 与 Notebook

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”按钮来添加新单元格。

image9.png

获取帮助

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

image14.png

编写文本

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

以下是一些示例:

image11.png

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

image17.png

  • 以 # 开头的行是一级标题。以 ## 开头为二级标题,### 为三级标题,依此类推。
  • 用 ** 包围文本可加粗,用 __ 可设为斜体,用 ` 可将其设为代码格式。
  • 连续多行以 - 开头可创建项目符号列表。
  • 以数字加句点开头的行可创建编号列表。
  • 超链接由两部分组成。显示文本置于方括号中,URL 置于圆括号中。

编写并运行代码

点击“Add Code”,或在命令模式(escape)下按“B”,即可添加新的代码块。

image3.png

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

image12.png

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

image2.png

读写文件

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

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

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

image15.png
使用文件系统

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

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

image4.png

管理单元格

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

image20.png

这将改变代码的顺序。(请注意,如果以错误顺序运行,您的代码可能会出错!)

“Hide Code”按钮可折叠并隐藏代码;对于当前不在处理的超长代码块很有用。若您的分析读者不关心技术细节、只想看结果,这也很实用。

image6.png
同样,“Hide Output”按钮可以隐藏较长的输出。

image10.png这些按钮也可以配合使用,同时隐藏代码和输出。

发布报告(仅限 DataLab)

DataLab 允许您将 Notebook 发布为出版物。这是展示您优秀成果并与其他数据科学家协作的好方式。

您可以通过点击侧边菜单中的“Publish”按钮来发布 Notebook。随后点击发布以共享您的 Notebook。发布前从上到下运行一次 Notebook 是个好主意。这有助于检查代码并确保可读性,因为多数人会自上而下阅读。

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

image5.png
共享 Jupyter Notebooks(仅限 DataLab)

共享工作簿是另一个仅在 DataLab 提供的实用功能。由于 Notebook 是托管的,您可以共享公开或私密且受控访问的链接,接收者可自行运行。

这是极佳的协作方式。数据科学领域广博而深入,没有任何一个人能面面俱到。无论是高效的代码、引人入胜的可视化,还是准确的模型,数据科学家都必须协作以获得最佳结果。DataLab 支持实时协作,允许多人同时编辑同一个 Notebook。

要共享您的 Notebook,请点击右上角的分享按钮。在此您可以复制链接、将 Notebook 设为私密/公开,并(在私密时)设置可访问的人员。

更进一步

立即注册免费的 DataLab,开启您的数据科学之旅。如果遇到问题,DataLab 文档是查找更多信息的好去处。

主题