Jupyter Notebook 教程

Jupyter Notebook 教程

Jupyter Notebook 是一个开源的交互式笔记本环境,可以在浏览器中编写和运行代码、实时显示结果、添加说明文字与图表。它是数据科学、机器学习和科研计算领域最流行的工具之一。

为什么受欢迎

  • 交互式:逐单元运行代码,即时看到输出
  • 可视化:内嵌 Matplotlib 图表、表格、图片
  • 文档化:Markdown 单元格混合代码与说明
  • 协作分享:.ipynb 文件易于共享,支持 GitHub 渲染

核心概念

  • 单元格(Cell):代码单元格或 Markdown 单元格
  • 内核(Kernel):执行代码的后端进程(Python/R/Julia 等)
  • 笔记本文件:扩展名 .ipynb,JSON 格式

快速开始

pip install jupyter
jupyter notebook          # 启动(浏览器打开 http://localhost:8888)

本教程将带你完成安装、基本使用、界面操作与进阶技巧。

Jupyter Notebook 简介

Jupyter Notebook 简介

Jupyter Notebook 诞生于 2014 年(由 IPython Notebook 演进而来),项目名称 Jupyter 来自 Julia、Python、R 三种语言的缩写,现已支持 40+ 种内核。

核心价值

  • 把"写代码"变成"探索数据"的过程记录
  • 代码、输出、图表、说明共存于一个文档
  • 适合数据分析、教学演示、论文复现、原型验证

生态组件

组件说明
Jupyter Notebook经典笔记本界面
JupyterLab新一代集成开发环境(推荐)
JupyterHub多用户服务器部署
nbconvert导出 HTML/PDF/Markdown
Voilà把笔记本变成交互式应用

典型工作流

导入数据 → 清洗探索 → 可视化 → 建模评估 → 结论记录

与 IDE 的关系

VS Code、PyCharm 都内置了对 .ipynb 的支持,你可以选择独立使用 Jupyter 或集成到日常 IDE 中。

Jupyter Notebook 安装

Jupyter Notebook 安装

安装 Jupyter 有多种方式,推荐在虚拟环境中安装以避免依赖冲突。

方式一:pip 安装

python -m venv myenv
source myenv/bin/activate      # Windows: myenv\Scriptsctivate
pip install jupyter            # 或 jupyterlab
jupyter --version

方式二:Anaconda 发行版

Anaconda 自带 Jupyter 与大量数据科学库,适合新手:

# 从 https://www.anaconda.com/download 下载安装
conda install jupyterlab -c conda-forge
jupyter lab

方式三:VS Code 集成

安装 Python 扩展后,打开 .ipynb 文件即可使用,无需单独启动 Jupyter 服务。

启动服务

jupyter notebook            # 经典界面
jupyter lab                 # 现代界面(推荐)

# 指定端口/无浏览器
jupyter notebook --port 9999 --no-browser

验证

浏览器打开后,新建 Notebook,输入 print("hello"),按 Shift+Enter 运行,看到输出即安装成功。

常见问题

  • 命令找不到:确认虚拟环境已激活
  • 端口占用:换端口或加 --allow-root 运行
  • 内核缺失:jupyter kernelspec list 查看

Jupyter Notebook 使用

Jupyter Notebook 使用

掌握单元格操作与快捷键,是高效使用 Jupyter 的关键。

两种单元格

  • 代码单元格:执行代码,显示输出
  • Markdown 单元格:写标题、列表、公式、说明

运行方式

Shift+Enter   运行当前单元格并跳转下一格
Ctrl+Enter    运行当前单元格(停留)
Alt+Enter     运行并新增下方单元格

常用快捷键

快捷键功能
a / b上方/下方插入单元格
dd删除单元格
m / y切换 Markdown / 代码
z撤销
Shift+Tab查看函数签名/文档
Ctrl+S保存

示例会话

# 代码单元格
import pandas as pd
df = pd.DataFrame({"name":["Tom","Jerry"],"score":[88,92]})
df

# Markdown 单元格
## 数据分析
| name | score |
|------|-------|
| Tom  | 88    |
| Jerry| 92    |

变量持久化

所有单元格共享同一个内核,前面定义的变量后续单元格可用——这是笔记本的工作方式。

Jupyter Notebook 中文

Jupyter Notebook 中文

Jupyter 对中文的支持非常完善,本教程说明中文显示与中文文本处理的常用设置。

界面中文化

# JupyterLab 扩展安装语言包(如有)
pip install jupyterlab-language-pack-zh-CN

# 或通过设置界面选择语言

图表中文显示

Matplotlib 默认字体不含中文,需要设置中文字体:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['PingFang SC', 'SimHei', 'Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号

plt.plot([1,2,3],[3,1,4])
plt.title("中文标题示例")
plt.show()

中文文本处理

# 分词示例(jieba)
import jieba
print(" ".join(jieba.cut("我爱编程")))
# 我 爱 编程

避免乱码

  • 文件读写指定 encoding="utf-8"
  • 终端输出中文乱码时设置环境变量 PYTHONIOENCODING=utf-8
  • PDF 导出中文需安装合适的 LaTeX 中文字体

Jupyter Notebook 界面

Jupyter Notebook 界面

了解 Jupyter(经典)与 JupyterLab 的界面布局,能让你更快上手。

经典 Notebook 界面

  • 菜单栏:File/Edit/View/Insert/Cell/Kernel/Help
  • 工具栏:保存、新增、剪切复制、运行、内核状态
  • 单元格区域:从上到下排列的单元格
  • 内核状态:右上角空心圆=空闲,实心圆=运行中

JupyterLab 界面

  • 左侧文件浏览器(可拖拽上传)
  • 中间工作区(多标签页)
  • 右侧属性/调试面板
  • 底部终端与日志

文件管理

  • .ipynb 笔记本文件
  • .py 脚本(可导入或转换)
  • .md 文档
  • 可上传数据集(csv/xlsx 等)

内核管理

# 查看内核
jupyter kernelspec list
# 内核崩溃/卡死:菜单 Kernel → Restart Kernel
# 切换内核:菜单 Kernel → Change Kernel

小贴士

输出内容过多时,菜单 Cell → Current Outputs → Clear 清理;长期不用的内核可 Shutdown 释放内存。

Jupyter Notebook VS Code

Jupyter Notebook VS Code

VS Code 内置 Jupyter 支持,让"笔记本"与"代码/终端/调试"无缝协同,是许多开发者首选的方式。

为什么用 VS Code 跑笔记本

  • 无需单独启动 Jupyter 服务
  • 与项目文件、Git、终端同窗口
  • 支持调试、代码补全、Copilot AI 助手
  • 可切换本地或远程内核

基本使用

1. 安装 Python 扩展
2. 打开 .ipynb 文件(自动进入笔记本模式)
3. 选择内核(Python 解释器)
4. Shift+Enter 运行单元格

常用功能

  • 单元格上方按钮:运行、插入、删除
  • 数据查看器:DataFrame 输出可展开浏览
  • 导出:菜单 File → Export → Python Script / HTML
  • 多内核:右下角选择不同解释器

远程开发

# 远程服务器(如云 GPU 机器)上跑笔记本:
# 安装 Remote-SSH 扩展 → 连接服务器 → 打开 .ipynb
# VS Code 会在远程安装 Jupyter 并自动创建内核

与 JupyterLab 对比

VS Code 更强于工程化(调试/重构/版本控制),JupyterLab 更强于数据探索界面与扩展生态。两者可以并存,按场景选择。

Jupyter Notebook 技巧

Jupyter Notebook 技巧

掌握进阶技巧,让你的笔记本更专业、更高效、可复现。

1. 使用魔法命令(Magic)

%time        # 统计单行执行时间
%timeit      # 多次执行计时
%%timeit     # 单元级计时
%matplotlib inline   # 内嵌显示图表
%load_ext autoreload # 自动重载模块
%%writefile script.py  # 把单元格内容写成文件

2. 数据探索小技巧

df.head()          # 前几行
df.info()          # 概览
df.describe()      # 统计摘要
df.value_counts()  # 分类计数
df.corr()          # 相关性矩阵

3. 避免常见坑

  • 按序运行!笔记本状态依赖前序单元格,分享前用 Kernel → Restart & Run All 验证
  • 输出过大导致文件臃肿:清理输出再提交 Git
  • 敏感数据不要硬编码在笔记本中

4. 导出分享

# 转 HTML(适合网页分享)
jupyter nbconvert --to html notebook.ipynb

# 转 Markdown
jupyter nbconvert --to markdown notebook.ipynb

5. 配置默认选项

# ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.port = 8888
c.NotebookApp.notebook_dir = '/home/me/notebooks'

善用这些技巧,笔记本将成为你数据工作的高效伙伴。

第 1 / 8 节