如何使用 Jupyter Notebook – 终极指南
Jupyter Notebook 是一个开源 Web 应用程序,允许您创建和共享包含实时代码、方程式、可视化和叙述性文本的文档。用途包括数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等等。 Jupyter 支持 40 多种不同的编程语言, Python就是其中之一。 Python是安装 Jupyter Notebook 本身的要求(Python 3.3 或更高版本,或Python 2.7)。
Table Of Content
- Installation
- Starting Jupyter Notebook
- Creating a Notebook
- Hello World in Jupyter Notebook
- Cells in Jupyter Notebook
- Kernel
- Naming the notebook
- Notebook Extensions
安装
使用 Anaconda Distribution 安装Python和 Jupyter,其中包括Python、Jupyter Notebook 以及其他用于科学计算和数据科学的常用软件包。你可以从这里下载 Anaconda 最新的 Python3 版本。现在,安装下载的 Anaconda 版本。使用 pip 安装 Jupyter Notebook:
python3 -m pip install --upgrade pip
python3 -m pip install jupyter
启动 Jupyter Notebook
要启动 jupyter notebook,请在终端中键入以下命令。
jupyter notebook
这将在终端中打印有关笔记本服务器的一些信息,包括 Web 应用程序的 URL(默认为 http://localhost:8888),然后打开默认 Web 浏览器到该 URL。 打开笔记本后,您将看到笔记本仪表板,其中将显示笔记本服务器启动目录中的笔记本、文件和子目录的列表。大多数时候,您会希望在包含笔记本的最高级别目录中启动笔记本服务器。通常这将是您的主目录。
创建笔记本
要创建新笔记本,请单击右上角的新建按钮。单击它以打开一个下拉列表,然后如果您单击 Python3,它将打开一个新笔记本。 网页应如下所示:
Jupyter Notebook 中的 Hello World
在 Jupyter Notebook 中成功安装并创建 notebook 后,我们来看看如何在其中编写代码。 Jupyter notebook 提供了一个用于在其中编写代码的单元。代码的类型取决于您创建的笔记本的类型。例如,如果您创建了一个 Python3 笔记本,那么您可以在单元格中编写 Python3 代码。现在,让我们添加以下代码 -
Python3
print("Hello World")
要运行单元格,请单击运行按钮或在选择要执行的单元格后按 shift ⇧ + enter ⏎ 。在 jupyter notebook 中编写上述代码后,输出为: 注意:当一个单元格执行了左边的标签时,即 ln[] 变为 ln[1]。如果单元仍在执行中,则标签仍为 ln[*]。
Jupyter Notebook 中的单元格
细胞可以被认为是 Jupyter 的身体。在上面的屏幕截图中,带有绿色轮廓的框是一个单元格。有3种类型的细胞:
- 代码
- 标记
- 原始 NBC 转换器
代码
这是输入代码的地方,执行时代码将在单元格下方显示输出。代码类型取决于您创建的笔记本的类型。例如,如果创建了 Python3 的 notebook,则可以添加 Python3 的代码。考虑下面的示例,其中创建了斐波那契数列的简单代码,并且该代码还接受用户的输入。例子: 提示上述代码中的 tex 栏接受用户的输入。上述代码的输出如下:输出:
降价
Markdown 是一种流行的标记语言,是 HTML 的超集。 Jupyter Notebook 也支持降价。可以使用单元格菜单将单元格类型更改为降价。 添加标题:可以通过在任何行前添加单个或多个“#”,后跟空格来添加标题。例子: 输出: 添加列表:在 Jupyter Notebook 中添加列表非常简单。可以使用“*”符号添加列表。并且可以使用缩进创建嵌套列表。例子: 输出: 添加乳胶方程:乳胶表达式可以通过用'$'包围乳胶代码来添加,并且在中间写表达式,用'$$'包围乳胶代码。例子: 输出: 添加表格:可以通过以下格式写入内容来添加表格。 输出: 注意:文本可以通过分别用'**'和'*'括起来使文本变为粗体或斜体。
原始 NBC 转换器
提供原始单元以直接写入输出。 Jupyter notebook 不评估此单元格。通过 nbconvert 后,原始单元格无需任何修改即可到达目标文件夹。例如,可以将完整的Python写入一个原始单元格,该原始单元格只有在经过 nbconvert 转换后才能由Python呈现。
核心
每个笔记本后面都有一个内核。每当执行单元格时,单元格内的代码都会在内核中执行,并且输出会返回到要显示的单元格。内核继续存在于整个文档中,而不是单个单元格。例如,如果一个模块被导入到一个单元格中,那么该模块将可用于整个文档。请参阅以下示例以更好地理解。例子: 注意:每个单元格的执行顺序在单元格的左侧说明。在上面的示例中,首先执行具有 In[1] 的单元格,然后执行具有 In[2] 的单元格。内核选项: Jupyter Notebook 提供了各种内核选项。如果您想重置内容,这可能很有用。选项包括:
- 重新启动:这将重新启动内核,即清除所有定义的变量,清除导入的模块等。
- 重新启动并清除输出:这将执行与上面相同的操作,但也会清除单元格下方显示的所有输出。
- 重新启动并全部运行:这也与上面相同,但也会以自上而下的顺序运行所有单元格。
- 中断:此选项将中断内核执行。在程序继续执行或内核因某些计算而卡住的情况下,它可能很有用。
为笔记本命名
创建笔记本时,Jupyter Notebook 默认将笔记本命名为无标题。但是,可以重命名笔记本。要重命名笔记本,只需单击“无标题”一词。这将提示一个标题为重命名笔记本的对话框。在文本栏中输入笔记本的有效名称,然后单击确定。
笔记本扩展
可以通过扩展将新功能添加到 Jupyter。扩展是 javascript 模块。您甚至可以编写自己的扩展程序来访问页面的 DOM 和 Jupyter Javascript API。 Jupyter 支持四种类型的扩展。
- 核心
- IPyhton 内核
- 笔记本
- 笔记本服务器
安装扩展
大多数扩展都可以使用 Python 的 pip 工具安装。如果无法使用 pip 安装扩展,请使用以下命令安装扩展。
jupyter nbextension install extension_name
以上仅安装扩展但不启用它。要启用它,请在终端中键入以下命令。
jupyter nbextension enable extension_name