Jupyter Notebook 介绍与使用指南:交互式计算与数据科学的强大基石
引言
在当今数据科学、机器学习以及需要进行交互式编程和数据探索的领域,Jupyter Notebook 已经成为一个不可或缺的工具。它不仅仅是一个代码编辑器,更是一个集代码、文本、数学公式、可视化结果于一体的交互式工作环境。本文将深入介绍 Jupyter Notebook 的核心概念、功能特性,并提供一份详细的使用指南,帮助读者从入门到熟练掌握这个强大的工具。
第一部分:认识 Jupyter Notebook
1.1 什么是 Jupyter Notebook?
Jupyter Notebook 是一个开源的 Web 应用程序,它允许用户创建和共享包含实时代码、方程、可视化和叙述性文本的文档。它的名称 “Jupyter” 是 Julia、Python 和 R 这三种在科学计算领域非常流行的编程语言的首字母组合,表明了其多语言支持的特性。
与其说它是一个传统的IDE(集成开发环境),不如说它是一个交互式计算环境。它将代码执行、结果展示、文本说明等多种元素集成在同一个文档中,形成一种独特的“笔记本”格式(.ipynb 文件)。
1.2 Jupyter Notebook 的核心特性
- 基于 Web 的交互式界面: 通过浏览器访问和操作,无需安装厚重的桌面应用。
- 代码、文本与输出的集成: 允许在同一个文档中混合编写和执行代码、添加解释性文本(使用 Markdown)、显示计算结果、嵌入图片和视频等。
- 支持多种编程语言(通过内核 Kernels): 虽然最初与 IPython 紧密相关,但通过安装不同的内核,Jupyter Notebook 可以支持包括 Python, R, Julia, Scala 等在内的众多编程语言。
- 丰富的输出格式: 不仅能显示代码的文本输出,还能直接渲染 HTML、图片、Plotly/Matplotlib 图形、LaTeX 公式等。
- 易于分享: .ipynb 文件本质上是 JSON 格式的文本文件,易于通过电子邮件、GitHub 等方式分享。此外,Notebook 可以方便地导出为 HTML、PDF、Markdown、Python 脚本等多种格式。
- 交互性强: 可以逐个代码块(Cell)执行,方便进行实验和调试。变量在不同 Cell 之间共享(在同一个 Kernel 会话中)。
1.3 为什么选择 Jupyter Notebook?
Jupyter Notebook 的独特之处在于它促进了一种迭代式、探索式的工作流程。这种模式在以下场景中尤其有用:
- 数据探索与分析: 逐步加载数据、清洗、转换、计算描述性统计量、可视化,每一步的结果都可以立即看到,方便调整和优化。
- 教学与演示: 非常适合作为编程或数据科学课程的教学工具。老师可以逐步讲解概念,学生可以实时运行代码进行练习。演示者可以边讲解边执行代码,生动直观。
- 报告与文档: 可以将分析过程、代码、结果和解释性文字组织在一起,形成一份完整的可执行报告。
- 快速原型开发: 快速验证想法,测试代码片段。
- 协作与分享: 将整个分析过程打包成一个文件,方便与同事或社区分享,他人可以直接复现你的工作(如果环境一致)。
- 可重复性研究: 将研究过程和结果记录在 Notebook 中,有助于提高研究的可重复性。
1.4 Jupyter 生态系统简介
Jupyter Notebook 是 Project Jupyter 项目中最核心和最著名的产物之一,但 Project Jupyter 还有其他重要组成部分:
- JupyterLab: Jupyter Notebook 的下一代用户界面,提供更灵活、更强大的工作空间,支持多文档、终端、文件浏览器、文本编辑器等多种功能集成在一个界面中。可以看作是 Jupyter Notebook 的增强版 IDE。
- JupyterHub: 一个多用户服务器,可以托管多个单用户 Jupyter Notebook 或 JupyterLab 服务器,常用于教育机构或企业环境中,为用户提供集中式的计算资源。
- JupyterLite: 一个基于 WebAssembly 在浏览器中运行的 Jupyter 环境,无需服务器端,可用于快速演示或轻量级使用。
本文主要聚焦于经典的 Jupyter Notebook。
第二部分:Jupyter Notebook 的安装与启动
2.1 安装方式
安装 Jupyter Notebook 最推荐的方式是使用 Anaconda 或 Miniconda。它们是流行的 Python/R 数据科学平台,集成了 Python 解释器、常用的科学计算库(如 NumPy, Pandas, Matplotlib, Scikit-learn)以及 Jupyter Notebook 本身。
-
使用 Anaconda/Miniconda:
- 访问 Anaconda 官网 (https://www.anaconda.com/products/distribution) 或 Miniconda 官网 (https://docs.conda.io/en/latest/miniconda.html) 下载适合你操作系统的安装包。Miniconda 更轻量,只包含 Python、conda 包管理器以及一些基本工具。
- 按照安装向导进行安装。推荐勾选将 Anaconda/Miniconda 添加到系统环境变量(PATH)。
- 安装完成后,Jupyter Notebook 就已经随之安装好了。
-
使用 pip (如果已经安装了 Python):
如果你已经安装了 Python,并且希望在现有的 Python 环境中使用 Jupyter Notebook,可以通过 pip 安装:
bash
pip install notebook
或者,如果你需要更全面的科学计算支持:
bash
pip install jupyterlab # JupyterLab 包含 Notebook 功能,推荐安装 JupyterLab
推荐在一个独立的 Python 虚拟环境(如使用venv
或conda env
)中安装 Jupyter Notebook,以避免与其他项目依赖冲突。
2.2 启动 Jupyter Notebook
安装完成后,可以通过命令行启动 Jupyter Notebook。
-
启动命令:
在终端或命令提示符中输入:
bash
jupyter notebook
如果你安装的是 JupyterLab,也可以输入:
bash
jupyter lab -
启动过程:
执行命令后,会发生以下几件事:- 在当前命令行所在的目录下启动一个本地的 Web 服务器(默认端口是 8888)。
- 你的默认网页浏览器会自动打开一个新的标签页,显示 Jupyter Notebook 的文件浏览器界面。
- 在命令行窗口会看到服务器的运行日志,包括访问地址 (通常是
http://localhost:8888/?token=...
) 和关闭服务器的提示(通常是按Ctrl+C
)。不要关闭这个命令行窗口,否则服务器会停止运行,导致浏览器中的 Notebook 无法使用。
-
访问界面:
浏览器中打开的页面就是 Jupyter Notebook 的文件浏览器。它显示了启动命令所在目录的文件和文件夹。你可以在这里创建新的 Notebook、打开现有的 Notebook、上传文件、新建文件夹等。
第三部分:Jupyter Notebook 用户界面详解
Jupyter Notebook 的用户界面主要由两个部分组成:文件浏览器界面和 Notebook 编辑器界面。
3.1 文件浏览器界面
当启动 jupyter notebook
后,首先看到的是文件浏览器界面。
- 主要区域:
- 顶栏: 显示当前目录的路径。
- 文件/文件夹列表: 显示当前目录下的文件和子目录。
.ipynb
文件是 Notebook 文件。 - 上传按钮: 位于右上角,用于将本地文件上传到当前目录。
- New 按钮: 位于右上角,点击可以创建新的 Notebook(选择可用的内核)、新建文件夹、新建文本文件等。
- Shutdown / Duplicate / Rename 等操作: 选中文件或文件夹后,上方的按钮会激活,可以进行相应的操作。
- Running 标签页: 显示当前正在运行的 Notebook 会话和终端会话,可以管理或关闭它们。
- Clusters 标签页: (较少使用)与并行计算相关。
3.2 Notebook 编辑器界面
点击文件浏览器中的 “.ipynb” 文件(或点击 “New” 创建新的 Notebook)会打开一个新的标签页,进入 Notebook 编辑器界面。这是进行交互式编程和文档编写的主要区域。
- 主要组成部分:
- 标题栏: 显示 Notebook 的名称。点击可以重命名。
- 菜单栏: File, Edit, View, Insert, Cell, Kernel, Widgets, Help。提供了 Notebook 的各种操作功能。
- File: 新建、打开、保存、重命名、复制、导出等。
- Edit: 剪切、复制、粘贴、删除单元格等。
- Cell: 运行单元格、运行所有单元格、改变单元格类型等。
- Kernel: 中断、重启、重连、切换内核等。
- 工具栏: 一系列图标按钮,提供常用功能的快捷方式,如保存、插入单元格、剪切/复制/粘贴单元格、运行、中断、重启内核、改变单元格类型等。
- 主要工作区: 由一系列单元格 (Cells) 组成。这是 Notebook 的核心区域。
3.3 Notebook 的两种模式
在 Notebook 编辑器中,任何时候都处于两种模式之一:
- 编辑模式 (Edit Mode): 当你双击或按 Enter 键进入一个单元格内部时,就进入了编辑模式。此时可以在单元格内输入和修改内容(代码或文本)。单元格边框通常是绿色的。
- 命令模式 (Command Mode): 当你点击单元格的边框(而不是内部)或按 Esc 键退出单元格编辑时,就进入了命令模式。此时无法编辑单元格内的内容,但可以通过键盘快捷键对单元格本身进行操作(如插入、删除、复制、粘贴、改变类型等)。单元格边框通常是蓝色的。
熟练掌握这两种模式及其对应的快捷键能极大地提高效率。
第四部分:核心概念:单元格 (Cells) 与内核 (Kernel)
4.1 单元格 (Cells)
单元格是构成 Notebook 的基本块。每个单元格可以包含不同类型的内容。最常用的单元格类型有两种:
- 代码单元格 (Code Cells): 用于编写和执行代码。当你运行一个代码单元格时,它的输出会直接显示在该单元格下方。
python
# 这是一个代码单元格
x = 10
y = 20
print(x + y)
运行后下方会显示输出:
30
-
Markdown 单元格 (Markdown Cells): 用于编写叙述性文本、解释、公式、图片、链接等。使用 Markdown 标记语言编写内容。运行 Markdown 单元格会将其渲染成格式化的文本。
“`markdown
# 这是一级标题这是一个 Markdown 单元格。
它支持:
* 列表
* 链接:Jupyter 官网
* 图片:
* 行内代码print("Hello")
* 代码块:
python
import pandas as pd
df = pd.read_csv('data.csv')
* 数学公式(使用 LaTeX):$E = mc^2$运行这个单元格会显示格式化后的内容。
“`
* 原始 (Raw NBConvert) 单元格: 不常用,用于在 Notebook 导出时包含一些原始文本,不会被 Notebook 本身处理。
4.2 执行单元格
执行单元格是 Jupyter Notebook 最核心的操作之一。
-
执行方式:
- 选中要执行的单元格,点击工具栏的 “Run” 按钮。
- 选中要执行的单元格,使用快捷键:
Shift + Enter
: 运行当前单元格,并选中下一个单元格。如果当前是最后一个单元格,会在下方新建一个代码单元格并选中。Ctrl + Enter
(或Cmd + Enter
on Mac): 运行当前单元格,但仍然选中当前单元格。Alt + Enter
: 运行当前单元格,并在下方插入一个新的代码单元格并选中。
-
执行状态:
- 当单元格正在执行时,单元格左侧的
In [ ]
标记会变成In [*]
。 - 执行完成后,
In [*]
会变成In [n]
,其中n
是该单元格在本次 Kernel 会话中执行的顺序编号。输出会显示在Out [n]
旁边(如果该单元格有输出的话)。
- 当单元格正在执行时,单元格左侧的
4.3 内核 (Kernel)
内核是实际执行代码的计算引擎。每个 Notebook 都连接到一个特定的内核。
- 功能: 内核负责接收 Notebook 发送的单元格代码,执行代码,并将结果、错误或输出发送回 Notebook 显示。
- 多语言支持: 通过安装和配置不同的内核,可以在同一个 Jupyter 环境中运行不同语言的代码。例如,安装
ipykernel
支持 Python,安装IRkernel
支持 R,安装IJulia.jl
支持 Julia 等。 - 状态: 内核是 Notebook 状态的核心。变量、函数定义等都存储在内核的内存中。执行一个代码单元格会改变内核的状态,后续单元格可以访问和使用这些变化。
- 管理内核:
- 菜单栏
Kernel
下有选项可以中断 (Interrupt)、重启 (Restart)、重连 (Reconnect) 内核,或者切换 (Change kernel) 到其他已安装的内核。 - 如果 Notebook 运行缓慢、出现奇怪的错误,或者你想清除所有变量重新开始,通常可以尝试重启内核。重启内核会清除所有变量和状态,你需要重新运行必要的单元格来恢复环境。
- 菜单栏
4.4 Notebook 的保存与检查点 (Checkpoints)
- 保存: Notebook 会自动定期保存,但你也可以随时通过点击工具栏的保存图标或使用快捷键
Ctrl + S
(或Cmd + S
) 手动保存。 - 检查点 (Checkpoints): Notebook 还有一个检查点功能,用于创建当前 Notebook 的快照。
- 手动创建检查点:
File -> Save and Checkpoint
。 - 回滚到检查点:
File -> Revert to Checkpoint
。
检查点功能在你进行一些可能破坏 Notebook 的大修改之前非常有用。
- 手动创建检查点:
第五部分:深入使用 Jupyter Notebook
5.1 Markdown 单元格:叙述你的分析过程
Markdown 单元格是编写解释性文本的关键。掌握基本的 Markdown 语法非常重要:
- 标题:
# 一级标题
,## 二级标题
,### 三级标题
… - 段落: 直接输入文本。
- 换行: 在行末输入两个空格或按 Enter 两次创建一个新段落。
- 强调:
*斜体*
或_斜体_
,**粗体**
或__粗体__
。 - 列表:
- 无序列表:使用
*
,-
, 或+
跟着一个空格。
“`markdown- 项目 1
- 项目 2
- 子项目
“`
- 有序列表:使用数字跟着一个点和空格。
“`markdown- 第一项
- 第二项
“`
- 无序列表:使用
- 链接:
[链接文本](URL)
markdown
[Jupyter 官网](https://jupyter.org) - 图片:

markdown
 - 代码块:
- 行内代码:使用反引号包围
print("Hello")
。 - 多行代码块:使用三个反引号包围,并在开始反引号后指定语言名称(可选)。
python
print("This is a code block")
for i in range(3):
print(i)
- 行内代码:使用反引号包围
- 分隔线: 使用三个或更多
*
,-
, 或_
。
markdown
*** -
数学公式 (LaTeX): 使用
$
包围行内公式,使用$$
包围块级公式。
“`markdown
行内公式:$E=mc^2$块级公式:
$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$
“`
通过合理使用 Markdown,可以让你的 Notebook 条理清晰,易于阅读和理解。
5.2 代码单元格:交互式编程的乐趣
代码单元格是执行计算的地方。除了基本的代码输入和执行,Jupyter Notebook 的代码单元格还有一些特别之处:
- 显示最后一行输出: 默认情况下,代码单元格只会显示最后一行(或者最后一个表达式)的输出,除非使用
print()
或display()
函数。
python
# 示例
a = 5
a + 3
a * 2 # 只有这一行的结果会被直接显示
输出:
10
如果你想显示多行的结果,需要使用print()
:
python
print(a + 3)
print(a * 2)
输出:
8
10 -
富文本输出: Jupyter Notebook 支持显示富文本输出,例如 Pandas DataFrame 会被渲染成漂亮的表格,Matplotlib 或 Plotly 图形会直接嵌入到输出区域。
“`python
import pandas as pddata = {‘col1’: [1, 2], ‘col2’: [3, 4]}
df = pd.DataFrame(data)
df # 直接显示 DataFrame
“`
输出会是一个格式化的表格。“`python
import matplotlib.pyplot as plt
import numpy as npx = np.linspace(0, 10, 100)
y = np.sin(x)plt.plot(x, y)
plt.title(“Sine wave”)
plt.xlabel(“x”)
plt.ylabel(“sin(x)”)
plt.show() # 必须使用 plt.show() 或者依赖魔术命令
``
%matplotlib inline
如果你使用了魔术命令(见下文),
plt.show()` 通常可以省略。 -
魔术命令 (Magic Commands): Jupyter Notebook 提供了一些特殊的“魔术命令”,以
%
或%%
开头,用于执行一些非标准的 Python 操作,比如计时、调试、执行系统命令等。- 行魔术命令 (%): 作用于单行。
%timeit
: 测量单行代码的执行时间。
python
%timeit [x**2 for x in range(1000)]%matplotlib inline
: 在 Notebook 中显示 Matplotlib 图形,而不是弹出新窗口(对于较老的版本或环境可能需要)。在现代版本中通常是默认行为。%whos
: 列出当前环境中所有变量及其类型和大小。%run script.py
: 运行一个 Python 脚本。%cd directory
: 改变当前工作目录。%pwd
: 打印当前工作目录。
- 单元格魔术命令 (%%): 作用于整个单元格。必须是单元格的第一行。
%%timeit
: 测量整个单元格代码的执行时间。
python
%%timeit
x = range(1000)
y = [i**2 for i in x]%%writefile filename
: 将当前单元格的内容写入指定文件。%%html
,%%latex
,%%markdown
,%%svg
: 将单元格内容按指定格式渲染。
可以使用
%lsmagic
查看所有可用的魔术命令,使用%magic
查看魔术命令的详细帮助。 - 行魔术命令 (%): 作用于单行。
-
Shell 命令: 可以在代码单元格中执行 Shell 命令,只需在命令前加上
!
。
“`python
!ls # 在 Linux/macOS 上列出文件
!dir # 在 Windows 上列出文件!pip list # 查看已安装的 Python 包
Shell 命令的输出会直接显示在单元格下方。你也可以将 Shell 命令的输出捕获到 Python 变量中:
python
files = !ls
print(files)
“`
5.3 键盘快捷键:提升效率的关键
熟练使用键盘快捷键可以显著提高在 Jupyter Notebook 中的操作效率。在命令模式下(蓝色边框),许多快捷键都是单字母或组合键。
-
命令模式 (Esc 后):
Enter
: 进入编辑模式。A
: 在当前单元格上方插入新单元格。B
: 在当前单元格下方插入新单元格。DD
: 删除当前单元格 (按两次 D)。Z
: 撤销删除单元格。Y
: 将当前单元格类型切换为 Code。M
: 将当前单元格类型切换为 Markdown。R
: 将当前单元格类型切换为 Raw。Shift + Up/Down
: 选中多个单元格。Shift + M
: 合并选中的单元格。Ctrl + Shift + -
: 在光标处分割单元格 (在编辑模式下)。H
: 显示快捷键帮助菜单。
-
编辑模式 (Enter 后):
Esc
: 返回命令模式。Tab
: 代码自动补全或缩进。Shift + Tab
: 显示函数或方法的 Docstring(参数、用法说明)。Ctrl + ]
: 增加缩进。Ctrl + [
: 减少缩进。Ctrl + /
: 注释/取消注释选中的代码行。
-
通用快捷键 (两种模式下都有效):
Shift + Enter
: 运行当前单元格,并选中下一个。Ctrl + Enter
: 运行当前单元格,保持选中当前单元格。Alt + Enter
: 运行当前单元格,并在下方插入新单元格。Ctrl + S
: 保存 Notebook。
强烈建议花时间熟悉这些快捷键,特别是进入/退出模式、插入/删除/切换单元格类型、以及运行单元格的快捷键。
第六部分:高级应用与生态系统
6.1 富媒体展示与交互式组件
除了基本的文本和图片,Jupyter Notebook 可以直接显示更多复杂的输出:
- Pandas DataFrame: 自动渲染为美观的 HTML 表格。
- Matplotlib, Seaborn, Plotly 等可视化库: 图形可以直接嵌入输出区域。对于 Plotly 等交互式图形库,可以保留交互功能。
-
音频、视频、HTML: 使用
IPython.display
模块可以方便地在 Notebook 中嵌入音频、视频或任意 HTML 内容。
“`python
from IPython.display import display, HTML, Audio, Video, YouTubeVideodisplay(HTML(‘
Hello, HTML!
‘))
display(Audio(‘path/to/audio.wav’, autoplay=True))
display(Video(‘path/to/video.mp4’))
display(YouTubeVideo(‘some_youtube_video_id’))
* **ipywidgets:** 创建交互式控件,如滑块、文本框、按钮等,可以将代码与用户输入关联起来,创建简单的交互式应用或演示。
python
from ipywidgets import interact, IntSliderdef square(x):
print(x**2)interact(square, x=IntSlider(min=1, max=10, step=1, value=5))
``
square` 函数并打印结果。
运行此代码单元格,下方会出现一个滑块,拖动滑块时会实时调用
6.2 JupyterLab:下一代工作空间
JupyterLab 提供了比经典 Notebook 更强大的功能和更灵活的布局。它在一个统一的界面中集成了:
- 经典的 Notebook 编辑器
- 文件浏览器
- 终端
- 文本编辑器
- 控制台
- 调试器
- 可视化工具(如 CSV 文件查看器)
如果你经常需要处理多个文件、使用终端或者喜欢更像 IDE 的环境,推荐切换到 JupyterLab。它向下兼容 Notebook 文件(.ipynb)。
6.3 导出 Notebook
Jupyter Notebook 可以方便地导出为多种格式,便于分享和发布:
File -> Download as
菜单提供了多种导出选项,包括:HTML (.html)
: 静态网页,保留所有代码、输出和 Markdown 渲染结果。适合在线分享。PDF (.pdf)
: 需要安装额外的工具(如 Pandoc 和 LaTeX),将 Notebook 导出为 PDF 文档。Python (.py)
: 只导出代码单元格的内容,生成一个 Python 脚本。Markdown (.md)
: 导出 Markdown 单元格和代码/输出(通常以代码块形式)。Notebook (.ipynb)
: 原始格式。
你也可以在命令行使用 jupyter nbconvert
工具进行更灵活的格式转换。
6.4 分享 Notebook
分享 Notebook 有多种常见方式:
- 直接分享 .ipynb 文件: 收件人需要安装 Jupyter 环境才能打开和运行。
- 转换为 HTML 或 PDF 分享: 收件人无需安装 Jupyter,但无法交互或修改代码。
- 使用 GitHub: GitHub 原生支持渲染
.ipynb
文件,可以直接在线预览 Notebook 内容。 - 使用 nbviewer: 一个免费服务,可以渲染存储在 GitHub、Gist 等地的 Notebook 文件为静态网页。只需提供 Notebook 的 URL。
- 使用 Binder: 一个服务,可以根据 GitHub 仓库中的 Notebook 文件和环境配置文件(如
requirements.txt
,environment.yml
等)构建一个可交互的在线 Jupyter 环境。用户打开链接即可在一个临时环境中运行 Notebook,无需本地安装。
第七部分:最佳实践与使用技巧
- 保持单元格的简洁性: 一个代码单元格最好只做一件事情,或者包含逻辑上相关联的代码块。这样便于理解、修改和调试。
- 善用 Markdown 进行解释: 在关键的代码块前后添加 Markdown 单元格,解释代码的功能、目的、输入输出,或者总结分析结果。这能让你的 Notebook 成为一个完整的故事或报告。
- 按顺序运行单元格: Notebook 的设计理念是按顺序执行。虽然你可以乱序执行,但这可能导致意想不到的结果,因为后面的单元格可能依赖于前面单元格创建的变量或状态。建议养成从头到尾按顺序运行的好习惯,或者使用
Cell -> Run All
验证 Notebook 的可重复性。 - 管理依赖环境: 如果 Notebook 依赖特定的库版本,强烈建议使用虚拟环境(如 Conda env 或 Python venv)。在创建虚拟环境后,需要在该环境中安装
ipykernel
并将其注册到 Jupyter 中,这样创建新 Notebook 时才能选择这个环境作为内核。
bash
# 使用 conda 创建虚拟环境
conda create -n myenv python=3.9
conda activate myenv
pip install ipykernel pandas matplotlib numpy
# 将当前环境注册为 Jupyter 内核
python -m ipykernel install --user --name=myenv --display-name="Python (myenv)"
这样在 Jupyter 的 “New” 菜单里就会出现 “Python (myenv)” 选项。 - 版本控制: 将 Notebook 文件纳入版本控制系统(如 Git)。虽然
.ipynb
文件是 JSON 格式,其 diff 不总是很友好,但总比没有版本控制好得多。对于重要的项目,可以考虑使用工具(如nbdime
)来改进 Notebook 的 Git diff 和 merge 体验。 - 清除输出后再分享: 在分享 Notebook 文件之前,考虑清除所有单元格的输出(
Cell -> All Output -> Clear
),除非输出本身就是 Notebook 内容的一部分。这可以减小文件大小,并让接收者第一次运行时可以自己生成输出,验证代码。 - 定期保存: 虽然有自动保存,但手动保存是一个好习惯。
- Kernel 状态: 时刻关注 Notebook 右上角显示的 Kernel 状态(圆形图标,空心表示空闲,实心表示忙碌)。如果 Kernel 持续忙碌或出现错误,可能需要中断或重启。
结论
Jupyter Notebook 凭借其强大的交互性、多样的内容支持和友好的界面,极大地改变了科学计算、数据分析和教学的方式。它将代码执行、结果展示和文档编写无缝结合,提供了一个独特且高效的工作流程。
从简单的代码片段执行到复杂的数据分析报告,从个人学习笔记到团队协作项目,Jupyter Notebook 都能胜任。通过掌握其核心概念(单元格、内核)、基本操作、Markdown 语法和常用快捷键,并遵循一些最佳实践,你可以充分发挥 Jupyter Notebook 的潜力,让你的编程和数据探索之旅更加高效、愉快和易于分享。
现在,是时候启动你的 Jupyter Notebook,开始你的交互式计算体验了!