快速上手Jupyter Notebook:看这篇就够了 – wiki基地


快速上手 Jupyter Notebook:看这篇就够了

引言:Jupyter Notebook 是什么?为何如此流行?

在数据科学、机器学习、学术研究、教育乃至软件开发的许多领域,Jupyter Notebook 已经成为了一个不可或缺的工具。它不仅仅是一个代码编辑器,更是一个集代码编写、运行、文本叙述、数学公式、可视化结果展示于一体的交互式笔记本环境。

想象一下,你正在进行数据分析。你需要在某个地方写代码处理数据,在另一个地方记录下你的思路、解释你的发现,可能还需要插入图表来直观展示结果。传统的工作流程可能涉及多个工具:一个代码编辑器、一个文档编辑器、一个绘图工具。而 Jupyter Notebook 的强大之处在于,它将这一切无缝地整合在一个文档中(.ipynb 文件)。

Jupyter Notebook 的核心特点:

  1. 交互性强: 代码可以分块(单元格)执行,你可以逐个运行单元格,即时看到结果,非常适合探索性编程和调试。
  2. 富文本混合: 在同一个文档中,你可以轻松混合编写代码和使用 Markdown 进行文本叙述。这意味着你可以详细解释你的代码做了什么,添加背景信息,甚至包含图片和链接。
  3. 结果可视化: 代码执行的结果(包括变量值、输出信息、错误报告以及最重要的图表)会直接显示在代码下方,形成了代码、解释和结果的完整记录。
  4. 支持多种语言(Kernel): 虽然它最常用于 Python,但通过安装不同的“内核”(Kernel),Jupyter Notebook 可以支持 R、Julia、Scala 等几十种编程语言。
  5. 易于分享: .ipynb 文件本身就是一份完整的报告,包含了代码、文本和输出。你可以直接分享这个文件,或者导出为 HTML、PDF、Markdown 等多种格式,方便他人查看和理解你的工作。

正是这些特点,使得 Jupyter Notebook 成为了数据科学家、研究人员和教育者的“神器”。它可以帮助你:

  • 进行数据清洗、转换和探索。
  • 构建和训练机器学习模型。
  • 进行统计分析和模拟。
  • 编写技术文档和教程。
  • 展示你的代码和结果。

无论你是一个编程新手,还是一个经验丰富的开发者,Jupyter Notebook 都能显著提高你的工作效率。

那么,如何快速上手 Jupyter Notebook 呢?别担心,本文将手把手带你完成从安装到熟练使用核心功能的全过程。看完这篇,你就能轻松开启你的 Jupyter Notebook 之旅!

第一步:安装 Jupyter Notebook

使用 Jupyter Notebook 的最简单、最推荐的方式是通过安装 Anaconda 发行版。Anaconda 是一个流行的 Python/R 数据科学平台,它包含了 Python 解释器、Jupyter Notebook 以及许多常用的科学计算库(如 NumPy, Pandas, Matplotlib, Scikit-learn 等),一次安装,省去很多麻烦。

方法一:推荐使用 Anaconda (适用于大多数用户)

  1. 下载 Anaconda: 访问 Anaconda 官方网站 (https://www.anaconda.com/products/distribution)。根据你的操作系统(Windows, macOS, Linux)和系统架构(通常是 64 位)选择对应的安装包进行下载。推荐下载图形化安装器。
  2. 运行安装程序:
    • Windows: 双击下载的 .exe 文件。按照安装向导提示进行。在安装选项中,建议选择“Just Me”(只为当前用户安装),除非你有特殊需求。在“Advanced Options”中,强烈建议勾选 “Add Anaconda to my PATH environment variable”(将 Anaconda 添加到我的 PATH 环境变量中)。虽然官方有时不推荐,但这会大大简化后续在命令行中使用 conda 和 jupyter 命令。如果安装时未勾选,后续需要手动配置环境变量或使用 Anaconda Prompt。
    • macOS: 双击下载的 .pkg 文件。按照提示进行安装。
    • Linux: 打开终端,切换到下载文件所在的目录,然后运行 bash Anaconda3-*.sh (将 * 替换为你的文件名)。按照提示阅读许可协议并确认安装路径。
  3. 验证安装:
    • 安装完成后,打开一个新的终端(Windows 用户请打开 Anaconda Prompt,而不是普通的命令提示符)。
    • 输入命令 conda list 并回车。如果看到安装的包列表,说明 conda 安装成功。
    • 输入命令 jupyter notebook --version 并回车。如果看到 Jupyter Notebook 的版本号,说明 Jupyter Notebook 也已经安装成功。

方法二:使用 pip 安装 (适合已有 Python 环境的用户)

如果你已经安装了 Python (版本 3.3 或更高,或者 Python 2.7),并且习惯使用 pip 来管理包,也可以通过 pip 安装 Jupyter Notebook。

  1. 打开终端/命令行:
    • Windows: 打开命令提示符 (cmd) 或 PowerShell。
    • macOS/Linux: 打开终端。
  2. 运行安装命令:
    bash
    pip install notebook

    如果你想安装包含更多常用科学计算库的 jupyterlab(Jupyter Notebook 的下一代交互式开发环境,功能更强大,但对于新手入门,Notebook 已足够且更经典),可以使用:
    bash
    pip install jupyterlab

    安装 jupyterlab 通常也会同时安装 notebook
  3. 验证安装:
    bash
    jupyter notebook --version
    # 或者如果你安装了 jupyterlab
    jupyter lab --version

    如果显示版本号,则安装成功。

总结: 对于初学者和主要进行数据科学工作的用户,强烈推荐安装 Anaconda。它包含了你需要的大部分工具,可以省去很多单独安装库的麻烦。如果你的 Python 环境非常精简或有特定需求,可以使用 pip 安装。

第二步:启动 Jupyter Notebook

安装完成后,启动 Jupyter Notebook 非常简单。

  1. 打开终端/命令行:
    • Windows: 如果你通过 Anaconda 安装并勾选了添加到 PATH,可以直接打开命令提示符 (cmd) 或 PowerShell。否则,请务必打开 Anaconda Prompt
    • macOS/Linux: 打开终端。
  2. 输入启动命令:
    bash
    jupyter notebook
  3. 回车执行。

执行命令后:

  • 终端会显示一些启动信息,包括正在运行的服务地址(通常是 http://localhost:8888/ 或类似的地址)。
  • 你的默认网页浏览器会自动打开一个新标签页,显示 Jupyter Notebook 的文件管理器界面。

注意: 不要关闭启动 Jupyter Notebook 的终端窗口。这个窗口正在运行 Jupyter 服务器进程。关闭它将导致你的 Notebook 停止工作。你可以最小化它。

浏览器中打开的界面是 Jupyter Notebook 的主界面,它显示了当前启动目录下的文件和文件夹列表。默认情况下,这个目录是你执行 jupyter notebook 命令时的当前目录。

第三步:认识 Jupyter Notebook 主界面

在浏览器中打开的主界面,你可以看到类似文件管理器的视图。顶部有几个标签页:

  • Files (文件): 这是你最常用的界面,显示了当前目录下的文件和文件夹。你可以在这里创建新的 Notebook、文件夹或文本文件,以及上传文件。
  • Running (运行中): 显示当前所有正在运行的 Notebook 和终端会话。如果你发现某个 Notebook 卡住了,可以在这里选择它并点击“Shutdown”来停止对应的内核。
  • Clusters (集群): 这是用于更高级的并行计算设置,初学者暂时无需关心。

在“Files”标签页,右侧有一个绿色的 “New” (新建) 按钮。点击它,你会看到一个下拉菜单:

  • Notebook: 选择一个内核(通常是 Python 3)来创建一个新的 Jupyter Notebook 文件 (.ipynb)。
  • Folder: 创建一个新的文件夹。
  • Text File: 创建一个新的普通文本文件 (.txt)。
  • Terminal: 打开一个终端会话(直接在浏览器中操作命令行)。

点击 “Notebook” -> “Python 3”,就会在新标签页中打开一个空白的 Jupyter Notebook 编辑器界面。恭喜你,你已经成功创建了你的第一个 Notebook!

第四步:深入了解 Notebook 编辑器界面

现在,你面对的是一个空白的 Notebook 编辑器界面。让我们来认识一下它的组成部分:

  1. 标题栏: 位于页面顶部,默认显示 “Untitled”。点击它,你可以为你的 Notebook 重命名。.ipynb 扩展名会自动添加。
  2. 菜单栏: 在标题栏下方,包含 File (文件), Edit (编辑), View (视图), Insert (插入), Cell (单元格), Kernel (内核), Widgets (组件), Help (帮助) 等菜单。这些菜单提供了各种操作选项,如保存、导出、编辑单元格、管理内核等。
  3. 工具栏: 位于菜单栏下方,包含一系列常用操作的图标按钮。例如:
    • 保存 (Save)
    • 插入单元格 (Insert cell below)
    • 剪切、复制、粘贴单元格 (Cut, Copy, Paste cells)
    • 上移、下移单元格 (Move cell up, Move cell down)
    • 运行单元格 (Run cell)
    • 中断内核 (Interrupt kernel)
    • 重启内核 (Restart kernel)
    • 切换单元格类型 (Cell type dropdown: Code, Markdown, Raw NBConvert)
    • 命令面板 (Command palette – 像一个搜索框,可以快速找到并执行各种操作)
  4. 单元格区域: 这是 Notebook 的主要工作区域,由一个个独立的“单元格”组成。每个单元格都可以包含代码、文本或原始数据。

第五步:理解单元格 (Cells)

单元格是 Jupyter Notebook 的核心构建块。每个单元格都可以独立运行。主要有两种类型的单元格你需要掌握:

  1. Code Cells (代码单元格):

    • 这是你编写可执行代码的地方。
    • 在代码单元格中输入你的 Python 代码(或其他你选择的 Kernel 语言的代码)。
    • 单元格左侧有一个 In [ ]: 的标记。In 表示输入,方括号中的数字表示该单元格是第几个被执行的代码单元格。如果方括号中是 *,表示该单元格正在运行中。
    • 运行代码单元格后,其输出会直接显示在单元格下方,标记为 Out [数字]:
  2. Markdown Cells (Markdown 单元格):

    • 这是你编写解释性文本、文档、公式、插入图片等的地方。
    • 使用 Markdown 标记语言来格式化文本。Markdown 是一种轻量级的标记语言,语法简单易学(后面会详细介绍)。
    • 运行 Markdown 单元格后,它会将其内容渲染成格式化的文本显示出来。它没有输入/输出标记 (In/Out)。

第六步:使用单元格:编写与运行

现在,让我们在 Notebook 中实际操作单元格。

当你新建一个 Notebook 时,会默认创建一个空白的 Code 单元格。

编写和运行代码单元格

  1. 输入代码: 点击 Code 单元格,光标会出现,你就可以开始输入代码了。例如,输入 print("Hello, Jupyter!")
  2. 运行单元格: 有几种方法可以运行当前选中的单元格:

    • 点击工具栏上的 “Run” 按钮 (向右的箭头)。
    • 使用快捷键:
      • Shift + Enter: 运行当前单元格,并在下方插入一个新的 Code 单元格(如果当前不是最后一个单元格,则选中下方单元格)。这是最常用的运行方式。
      • Ctrl + Enter (或 Cmd + Enter on macOS): 运行当前单元格,但光标仍然留在当前单元格。
      • Alt + Enter: 运行当前单元格,并在下方插入一个新的 Code 单元格。

    运行后,代码的输出 Hello, Jupyter! 会显示在单元格下方。左侧的 In [ ]: 也会变成 In [1]: (如果这是你第一次运行代码单元格)。

  3. 尝试更多代码: 在新的单元格中输入 1 + 1,运行它。你会看到输出 2。输入 a = 10,再在下一个单元格输入 print(a * 2),运行后会看到 20。这表明单元格之间是可以共享变量和状态的(只要它们使用同一个内核)。

编写和运行 Markdown 单元格

  1. 切换单元格类型: 选中一个单元格(点击其左侧空白区域或内部)。在工具栏的下拉菜单中选择 “Markdown”。或者在命令模式下按 M 键(稍后解释命令模式)。
  2. 输入 Markdown 内容: 在 Markdown 单元格中输入文本。例如,输入 # 这是一级标题
  3. 运行单元格: 使用上面提到的任何一种运行方式 (Shift + Enter, Ctrl + Enter, Alt + Enter) 或点击 “Run” 按钮。

运行后,你会看到 # 这是一级标题 被渲染成了一个大的标题。Markdown 单元格运行后就变成了格式化的文本,如果要编辑它,需要双击该单元格。

单元格的两种模式:编辑模式 vs 命令模式

Jupyter Notebook 的单元格有两种主要模式,理解它们对于高效操作至关重要:

  • Edit Mode (编辑模式): 当你点击单元格内部准备输入或编辑内容时,单元格边框会变成 绿色,并且光标在闪烁。此时你输入的任何内容都会进入到单元格内部。
  • Command Mode (命令模式): 当你选中一个单元格,但不处于编辑状态时,单元格边框是 蓝色。此时你输入的按键会被解释为命令,用于操作单元格本身(例如,剪切、复制、粘贴、删除、切换单元格类型、插入新单元格等),而不是输入到单元格的内容中。

如何切换模式:

  • 从编辑模式进入命令模式:按下 Esc 键。
  • 从命令模式进入编辑模式:按下 Enter 键,或者双击单元格。

掌握命令模式下的快捷键可以极大地提高效率。 以下是一些最常用的命令模式快捷键(确保单元格处于蓝色边框的命令模式下):

  • A: 在当前单元格 上方 插入一个新的 Code 单元格 (A = Above)
  • B: 在当前单元格 下方 插入一个新的 Code 单元格 (B = Below)
  • DD: 快速按下 D 键两次,删除当前单元格 (DD = Delete)
  • X: 剪切当前单元格
  • C: 复制当前单元格
  • V: 在当前单元格 下方 粘贴剪切或复制的单元格
  • Z: 撤销删除单元格
  • M: 将当前单元格类型切换为 Markdown
  • Y: 将当前单元格类型切换为 Code
  • Enter: 进入当前选中单元格的编辑模式
  • Esc: 退出现有单元格的编辑模式,进入命令模式
  • Shift + 上/下箭头: 选中多个相邻单元格

花一些时间练习在编辑模式和命令模式之间切换,并尝试这些快捷键,你会发现操作变得流畅很多。

第七步:使用 Markdown 美化你的 Notebook

在 Notebook 中使用 Markdown 是编写清晰、易于理解的报告或文档的关键。掌握一些基本的 Markdown 语法非常有用。

在 Markdown 单元格中输入以下内容,然后运行单元格看看效果:

  1. 标题: 使用 # 符号,# 的数量表示标题的级别(1 到 6)。
    markdown
    # 这是一级标题
    ## 这是二级标题
    ### 这是三级标题
  2. 段落: 直接输入文本即可。段落之间用空行分隔。
    “`markdown
    这是一个段落。

    这是另一个段落。
    3. **强调:**
    * 斜体:使用一个 `*` 或一个 `_` 包围文本,如 `*斜体文本*` 或 `_斜体文本_`。
    * 粗体:使用两个 `*` 或两个 `_` 包围文本,如 `**粗体文本**` 或 `__粗体文本__`。
    * 粗斜体:使用三个 `*` 或三个 `_` 包围文本,如 `***粗斜体文本***`。
    4. **列表:**
    * 无序列表:使用 `*`, `-`, 或 `+` 作为列表项标记。
    markdown
    * 项目一
    * 项目二
    – 项目二的子项目
    * 有序列表:使用数字加点。markdown
    1. 第一个项目
    2. 第二个项目
    3. 第三个项目
    5. **链接:** `[链接文本](链接地址)`markdown
    访问百度
    6. **图片:** `![图片描述](图片地址)`。图片地址可以是网络图片链接,也可以是 Notebook 同一目录下的本地图片文件。markdown
    Jupyter Logo
    7. **代码块:**
    * 行内代码:使用反引号 `` ` `` 包围代码,如 `这是 `inline code` 示例`。
    * 代码块:使用三个反引号
    包围多行代码,并在第一个 后面指定语言名称进行语法高亮。
    ````markdown
    python
    print(“这是一个代码块”)
    for i in range(3):
    print(i)
    ````
    8. **分隔线:** 在一行中连续使用三个或更多的 `*`, `-`, 或 `_`,行内不能有其他内容(可以在中间加空格)。
    markdown


    9. **数学公式:** Jupyter Notebook 支持 LaTeX 语法来书写数学公式。
    * 行内公式:使用一对 `$` 包围公式,如 `爱因斯坦的质能方程 $E=mc^2$`。
    * 块级公式:使用一对 `$$` 包围公式,公式会单独一行并居中显示。
    markdown
    $$
    \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
    $$
    “`

熟练使用 Markdown 可以让你的 Notebook 看起来更专业,逻辑更清晰,无论是自己回顾还是与他人分享都更加方便。

第八步:一个小例子:数据探索与可视化

为了展示 Jupyter Notebook 在数据科学中的魅力,让我们来运行一个简单的 Python 数据分析和可视化例子。你需要确保安装了 pandasmatplotlib 库。如果你安装的是 Anaconda,这两个库通常已经预装了。如果使用 pip,可能需要额外安装:pip install pandas matplotlib

在你的 Notebook 中创建新的 Code 单元格,并依次输入以下代码运行:

“`python

Cell 1: 导入库

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np # 也导入 numpy,后面可能用到

print(“库导入成功!”)
“`
运行此单元格,你应该看到 “库导入成功!” 输出。

“`python

Cell 2: 创建一个简单的数据集

data = {‘类别’: [‘A’, ‘B’, ‘C’, ‘D’, ‘A’, ‘B’, ‘C’, ‘D’],
‘值’: [10, 20, 15, 25, 12, 22, 18, 28],
‘数量’: [100, 120, 90, 110, 105, 115, 95, 125]}
df = pd.DataFrame(data)

print(“数据集创建成功!数据集的前5行:”)
print(df.head())
print(“\n数据集信息:”)
df.info()
``
运行此单元格,你会看到创建的 DataFrame 的前几行以及它的结构信息。
df.head()df.info()` 的输出直接显示在单元格下方。

“`python

Cell 3: 进行简单的数据分析 – 按类别分组求平均值

average_value_by_category = df.groupby(‘类别’)[‘值’].mean()

print(“\n按类别分组的平均值:”)
print(average_value_by_category)
“`
运行此单元格,你会看到每个类别的平均值计算结果。

“`python

Cell 4: 数据可视化 – 绘制平均值的柱状图

plt.figure(figsize=(8, 5)) # 设置图表大小
average_value_by_category.plot(kind=’bar’, color=’skyblue’)
plt.title(‘不同类别的平均值’) # 设置标题
plt.xlabel(‘类别’) # 设置X轴标签
plt.ylabel(‘平均值’) # 设置Y轴标签
plt.xticks(rotation=0) # 让X轴标签不旋转
plt.grid(axis=’y’, linestyle=’–‘, alpha=0.7) # 添加网格线
plt.tight_layout() # 调整布局,避免标签重叠
plt.show() # 显示图表
“`
运行此单元格,一个漂亮的柱状图就会直接显示在单元格下方。

通过这个例子,你可以看到 Jupyter Notebook 如何让你一步步地进行数据处理、分析和可视化,并将代码、中间结果、最终图表以及你的解释(可以使用 Markdown 单元格添加)都保存在同一个文档中。这种交互式的、叙述性的方式非常适合数据探索和报告撰写。

第九步:保存和导出你的 Notebook

Jupyter Notebook 会自动保存你的工作(默认每隔几分钟),但你也可以手动保存:

  • 点击工具栏上的保存图标(一个软盘形状)。
  • 使用快捷键 Ctrl + S (或 Cmd + S on macOS)。
  • 通过菜单栏 File -> Save and Checkpoint

Save and Checkpoint 会创建一个检查点,你可以随时回滚到这个状态(File -> Revert to Checkpoint)。

除了 .ipynb 格式,你还可以将 Notebook 导出为其他格式,方便分享或发布:

  • 通过菜单栏 File -> Download as。你会看到多种导出格式:
    • Python (.py): 导出纯 Python 脚本,只包含代码单元格的内容。
    • HTML (.html): 导出为静态 HTML 文件,包含代码、输出和 Markdown 内容,非常适合网页展示。
    • Markdown (.md): 导出为 Markdown 文件,代码单元格内容会包含在代码块中。
    • PDF via LaTeX (.pdf): 导出为 PDF 文件。这通常需要你的系统安装了 LaTeX 环境,有时会遇到问题。
    • PDF via HTML (.pdf): 尝试通过先转为 HTML 再转为 PDF,通常不需要安装 LaTeX,但格式可能不如 LaTeX 导出精确。
    • 还有其他一些格式如 .rst, .ipynb 等。

选择你需要的格式,点击即可下载导出的文件。

第十步:其他常用操作和技巧

  • 清空所有输出: 有时你想重新运行整个 Notebook,但不希望保留之前的输出。可以通过菜单栏 Cell -> All Output -> Clear 来清空所有单元格的输出。
  • 运行所有单元格: 可以通过菜单栏 Cell -> Run All 来按顺序运行 Notebook 中的所有单元格。Cell -> Run All AboveRun Selected Cells 等也很常用。
  • 中断或重启内核: 如果某个代码单元格进入了死循环或者运行时间过长,你可以点击工具栏上的“中断”(方形图标)按钮,或者通过菜单栏 Kernel -> Interrupt 来中断正在运行的单元格。如果内核出现问题,可以点击工具栏上的“重启”(圆形箭头)按钮,或者通过菜单栏 Kernel -> Restart。重启内核会清除所有变量和状态,需要重新运行单元格。
  • 使用命令面板: 按下 Ctrl + Shift + P (或 Cmd + Shift + P on macOS) 可以打开命令面板,输入关键词可以快速搜索并执行各种菜单命令和快捷键对应的操作,非常方便。
  • 查找和替换: 在编辑模式下,按 Ctrl + F (或 Cmd + F on macOS) 可以进行查找和替换。
  • 行号: 在命令模式下,按 L 键可以显示/隐藏当前单元格的行号。

总结与进阶

至此,你应该已经掌握了 Jupyter Notebook 的基本安装、启动、界面操作、单元格使用(代码和 Markdown)、模式切换、常用快捷键以及保存导出等核心功能。这些知识足以让你开始使用 Jupyter Notebook 进行日常的编程、数据探索和文档编写工作。

Jupyter Notebook 的强大之处在于它的灵活性和交互性。多加练习,尝试在 Notebook 中完成你的小项目或练习,你会越来越体会到它的便利。

下一步可以探索的领域:

  • JupyterLab: Jupyter Notebook 的下一代,提供了一个更集成、更强大的界面环境,包含文件浏览器、终端、文本编辑器等功能,并且支持多窗口布局。
  • nbextensions: Jupyter Notebook 的扩展功能集,可以添加目录、代码折叠、拼写检查等实用功能。
  • 其他 Kernel: 尝试为 Notebook 安装其他语言的内核,如 R, Julia 等。
  • 版本控制: 将你的 .ipynb 文件放入 Git 进行版本控制。需要注意 .ipynb 文件是 JSON 格式,文件变化可能会比较大,可以使用 nbdime 等工具来更好地管理 Notebook 的版本差异。
  • 在线 Jupyter 环境: 使用 Google Colab, Kaggle Kernels, Azure Notebooks 等在线平台,无需本地安装即可使用 Jupyter Notebook。

Jupyter Notebook 是通往交互式计算世界的绝佳入口。掌握它,你将能更高效、更直观地进行数据分析、科学研究和代码开发。

现在,勇敢地打开你的 Jupyter Notebook,开始编写你的第一个代码或文档吧!看这篇,快速上手,你已经迈出了坚实的一步!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部