一、Jupyter Notebook 简介
Jupyter Notebook 是一个开源的交互式 Web 工具,支持多种编程语言(如 Python、R、Julia),广泛用于数据分析、机器学习、教学和科研。
核心特点
-
交互式环境:逐行执行代码,即时查看结果
-
混合内容:支持代码、文本(Markdown)、公式、图表、多媒体
-
可视化友好:直接内嵌 Matplotlib/Plotly 等图表
-
跨平台:支持 Windows/macOS/Linux
二、安装与启动
1. 安装方式
python
# 通过 pip 安装
pip install jupyter notebook
# 通过 Anaconda(推荐)
conda install jupyter notebook
2. 启动 Notebook
python
jupyter notebook
启动后自动在浏览器打开 http://localhost:8888
三、基础操作
1. 界面概览
-
菜单栏:文件操作、内核控制等
-
工具栏:常用功能快捷按钮
-
单元格:代码或文本的编辑单元
2. 单元格类型
类型 | 快捷键 | 用途 |
---|---|---|
Code | Esc + Y |
编写可执行代码 |
Markdown | Esc + M |
编写文档/标题/公式 |
Raw | Esc + R |
原始文本(不执行) |
3. 常用快捷键
-
运行当前单元格 :
Shift + Enter
-
插入单元格 :
Esc + A
(上方)/Esc + B
(下方) -
删除单元格 :
Esc + D + D
-
切换单元格模式 :
Esc + Y/M/R
-
查找替换 :
Esc + F
四、高效使用技巧
1. 魔法命令(Magic Commands)
python
# 查看运行时间
%timeit [x**2 for x in range(1000)]
# 显示 Matplotlib 图表内嵌
%matplotlib inline
# 外部脚本导入
%load script.py
2. 多语言支持
python
# 切换内核(需提前安装对应内核)
# 例如使用 R 语言
%load_ext rpy2.ipython
3. 扩展插件
python
# 安装扩展包
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
# 常用扩展:
- Table of Contents:自动生成目录
- Codefolding:代码折叠
- ExecuteTime:显示代码执行时间
五、数据科学与可视化
1. 数据展示
python
import pandas as pd
df = pd.read_csv("data.csv")
# 直接显示表格(最后一行自动输出)
df.head()
2. 交互式可视化
python
# Plotly 交互图表
import plotly.express as px
fig = px.scatter(df, x="age", y="income", color="gender")
fig.show()
3. LaTeX 公式支持
python
$$
F = ma \quad \text{牛顿第二定律}
$$
六、高级功能
1. 调试代码
python
# 使用 %debug 魔术命令
def faulty_func(x):
return x/0
%debug faulty_func(1) # 进入调试器
2. 转换为其他格式
python
# 转换为 HTML/PDF/Markdown
jupyter nbconvert notebook.ipynb --to html
3. 版本控制
- 推荐使用
nbdime
工具解决 Notebook 的 Git 差异对比问题:
python
pip install nbdime
nbdime config-git --enable
七、常见问题解决
内核无响应:
-
重启内核:
Kernel > Restart
-
检查内存使用:
!free -h
(Linux/macOS)
安装包:
python
# 直接在 Notebook 中安装
!pip install package_name
远程访问:
python
jupyter notebook --ip=0.0.0.0 --port=8888
八、最佳实践
- 项目结构建议
python
my_project/
├── data/ # 原始数据
├── notebooks/ # Jupyter 文件
├── src/ # Python 模块
└── README.md
-
性能优化
-
大数据处理时使用
%%prun
分析性能瓶颈 -
避免在 Notebook 中存储大量数据(>100MB)
-
-
协作建议
-
使用
ReviewNB
进行代码审查 -
定期清理输出结果(
Cell > All Output > Clear
)
-
九、学习资源
-
官方文档:jupyter.org
-
快捷键大全:
Help > Keyboard Shortcuts