匠人学院 JR Academy学AI来匠人
匠人学院 JR Academy学AI来匠人

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-airwallex.png/image/layout/pay-alipay.png
EN

关于公司

关于我们元宇宙课堂新闻资讯匠人工作成为导师匠人导师联系我们匠人商店J3.Club

匠人资源

工作内推匠人活动1对1私教行业白皮书线上学习平台面试中心分享面试经验Internship会员中心

AI 工具

AI 工具箱考证匠 Cert Master求职匠 Job Hunter牛小匠 UniMate AI

AI 学习方向

全部学习方向AI EngineerContext EngineeringVibe CodingPrompt MasterAI BuilderAI 产品经理Python 入门

AI 应用提效

AI 办公提效AI 数据分析AI 财务AI 内容创作AI 视觉创作前端开发Hermes AgentOpenClaw 本地智能体

大学资源

墨尔本大学昆士兰大学新南威尔士大学悉尼大学莫那什大学阿德莱德大学RMITQUTUTS

少儿 AI 教育

Airbotix 少儿 AI 编程澳洲家长实用资料库NAPLAN 成绩单怎么看My School 学校数据指南悉尼私校学费 2026少儿编程课程与训练营

移民服务

澳洲移民技术移民189/190/491雇主担保482/186/494投资移民188/888英国移民美国移民加拿大移民

企业合作

P3职业孵化器Enterprise (EN)企业培训实习合作招聘合作申请合作

求职代理

岗位代投职位监控LinkedIn代运营LinkedIn人脉代加了解P3项目

匠人支持

FAQsTerms & ConditionsPrivacy PolicyCancellation & Refund PolicySite map

Top Categories

Web全栈班DevOps项目班数据工程全栈班数据分析项目班编程入门班Business Analyst实习算法集训营

求职就业

BA和产品经理实习数据科学实习数据分析实习Marketing实习简历修改面试指导导师指导VIP

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 2, 171 La Trobe St, Melbourne VIC 3000
四川省成都市武侯区桂溪街道天府大道中段500号D5东方希望天祥广场B座45A13号
Business Hub, 155 Waymouth St, Adelaide SA 5000

联系方式

hello@jiangren.com.au0421-672-555

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2026 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572

Jupyter Notebook 指南
AI Engineer
Jupyter Notebook 指南

Jupyter Notebook 是交互式计算环境,支持代码、文本和可视化的混合文档。

官方网站↗JupyterLab 文档↗
Jupyter Notebook 指南Jupyter 简介
Jupyter Notebook 指南

Jupyter Notebook 指南

审核者
Lightman Wang
Lightman Wang
Founder of JR Academy

快速入门

  • Jupyter 简介

相关链接

  • ↗官方网站
  • ↗JupyterLab 文档
WikiJupyter Notebook 指南

Jupyter Notebook 完全指南

你第一次打开 Jupyter 可能觉得它就是个网页版 Python,但用了一阵你会发现——它更像是草稿纸 + 计算器 + 笔记本三合一。写一行代码、跑一下、看个图、写两句笔记,这个循环在数据分析和 AI 开发里太常见了,而 Jupyter 就是为这个循环设计的。

我当初第一次接触 Jupyter 是在大学做 data science 作业的时候。那会儿教授发了一个 .ipynb 文件过来,我还以为是什么奇怪的格式,折腾了半天才装好环境打开。结果一用就停不下来了——写两行代码马上能看到图表出来,比之前在 PyCharm 里写完整个脚本再跑舒服太多了。后来做毕业项目的时候,我整个数据清洗和可视化流程都是在 Jupyter 里完成的,光 Notebook 文件就攒了二十多个。

十几年过去,数据科学的工具换了一茬又一茬,Jupyter 还是稳稳坐在那里。不是因为它完美,而是因为没有别的东西能完全替代"边想边写边看结果"这个体验。


#Jupyter 生态全景

很多人分不清 Jupyter Notebook、JupyterLab、Colab 到底什么关系。简单说:它们都基于同一个 Notebook 格式(.ipynb),但界面和使用场景不同。

下面是 JupyterLab 的界面,左边文件浏览器、右边多标签编辑区,基本上日常开发都在这个界面里完成:

JupyterLab 界面
JupyterLab 界面

工具定位适合谁免费?
Jupyter Notebook经典版,一个标签页一个文件刚入门、做教学演示✅
JupyterLab下一代界面,多标签、文件浏览器、Terminal 都有日常开发首选✅
Google Colab云端 Notebook,自带免费 GPU跑深度学习、不想配环境✅(Pro 付费加速)
VS Code Notebooks在 VS Code 中原生运行 .ipynb已经用 VS Code 的开发者✅
JupyterHub多用户部署方案,一台服务器给一个团队用企业/大学 IT 管理员✅
Kaggle NotebooksKaggle 平台自带,预装各种数据科学库参加竞赛、快速实验✅

话说回来,如果你不想折腾本地环境,Google Colab 是最省心的选择,打开浏览器直接写代码:

Google Colab 界面
Google Colab 界面

选哪个?大多数人的路径是:Colab 入门 → JupyterLab 本地开发 → VS Code 做正经项目。不用一开始就纠结,哪个顺手用哪个。


#核心工作流:Cell 执行逻辑

Jupyter 的基本单位是 Cell(单元格)。每个 Cell 可以是代码、Markdown 文字或者原始文本。你写完一个 Cell,按 Shift + Enter 执行,输出直接显示在下面。

听起来简单,但这里面有个关键概念很多人忽略了:所有 Cell 共享同一个内存空间(Kernel)。

这意味着什么?

python
# Cell 1 x = 10 # Cell 2 print(x) # 能拿到 Cell 1 的 x,输出 10 # Cell 3 x = 20 # 如果你回头重新跑 Cell 2,输出变成 20

这个特性是双刃剑——灵活,但也是最容易翻车的地方(后面细说)。

#Cell 的三种状态

  • [ ]:还没执行过
  • [*]:正在执行(如果卡在这里很久,可能是代码有死循环或者 Kernel 挂了)
  • [3]:已执行,数字代表执行顺序

养成一个习惯:经常看左边的数字。如果数字跳来跳去(比如 1, 5, 3, 8),说明你的执行顺序已经乱了。


#最容易翻车的地方

用 Jupyter 越久,越会遇到这些坑。提前知道能省不少时间。

#1. 执行顺序混乱

这是 Jupyter 被骂得最多的问题,我自己就在这上面栽过大跟头。

有一次做课程作业,我在 Cell 10 定义了一个 clean_data 函数,后来觉得写得不好,删掉了那个 Cell 重写了一版放在 Cell 15。问题是删掉 Cell 10 之后,旧的 clean_data 还留在内存里,代码照样跑得好好的,结果也看着没问题。我就这么交了作业。第二天教授说跑不通,我打开一看——Kernel 重启之后,旧函数没了,Cell 15 的新版本依赖了一个我在 Cell 12 里临时定义的变量,而 Cell 12 其实在 Cell 15 下面。整个执行顺序完全是乱的,我自己跑的时候因为内存里什么都有所以没问题,换个干净的环境就全崩了。

更隐蔽的情况是这样的:你在 Cell 3 写了 df = df.dropna(),跑了一遍,然后又手动跑了一遍——数据被 dropna 了两次,但你可能根本没注意到。或者你在调试的时候不断修改某个 Cell 的逻辑,跑了七八遍,内存里的状态已经和代码文本完全对不上了。

解决办法:写完一段逻辑后,养成习惯用 Kernel → Restart & Run All 从头到尾跑一遍。如果全部通过,说明你的代码是"可复现"的;如果报错,就是有隐藏的依赖顺序问题。我现在基本上每写完一个小模块就会 Restart & Run All 一次,虽然慢一点但省得后面出幺蛾子。

#2. Kernel 死了

跑大数据集的时候 Kernel 直接挂掉是常事,Cell 一直显示 [*],右上角状态变灰。遇到这种情况直接 Kernel → Restart 重启就行,所有变量会清空。大文件记得用 chunksize 分批读,别一口气全加载进内存。

#3. .ipynb 版本控制是噩梦

.ipynb 文件本质是 JSON,里面包含代码、输出、图片(Base64 编码)、元数据。你改一行代码,Git diff 可能显示几百行变化——因为输出也变了。

实用解决方案:

方案操作适合场景
nbstripout自动清除输出后再 commit个人项目
nbdime专门给 Notebook 做 diff 和 merge团队协作
jupytext把 .ipynb 同步成 .py 或 .md想用纯文本管理
Review Board / Colab不走 Git,直接在线协作快速实验

个人建议:如果是正经项目,核心逻辑抽到 .py 文件里,Notebook 只做调用和可视化。这样 .py 走正常 Git 流程,Notebook 当一次性的实验记录。

#4. Notebook 越写越长收不住

一个 Notebook 写到 200 个 Cell,自己都找不到之前写的东西在哪。

经验法则:

  • 一个 Notebook 聚焦一个任务(数据清洗一个、建模一个、可视化一个)
  • 超过 50 个 Cell 就该考虑拆分了
  • 用 Markdown Cell 做章节标题,形成清晰的结构

#AI 时代的 Jupyter

2024 年之后,Jupyter 的使用方式发生了很大变化。以前你得自己一行行写 pandas 代码,现在很多人的工作流变成了:

  1. 把数据描述和需求告诉 ChatGPT 或 Claude
  2. 拿到生成的代码,粘贴到 Jupyter Cell 里
  3. 跑一下看结果,不对就调整 prompt 重新生成

这种方式确实快,但有几个要注意的:

  • 先理解再粘贴。AI 生成的代码可能用了你不熟悉的库或者有微妙的 bug,盲目跑可能得到错误的结果还不知道
  • 分步执行。不要把 AI 给你的 50 行代码一股脑放一个 Cell,拆成几个 Cell 逐步验证
  • 检查数据假设。AI 不知道你的数据有没有空值、有没有重复、列名是不是它猜的那个

我个人觉得这种"AI 写代码 + Jupyter 验证"的组合,短期内可能是数据分析最高效的工作流了。纯靠 AI 不靠谱,纯手写又太慢,Jupyter 正好卡在中间那个验证和调试的位置上。

对了还有个事,一些 AI 增强的 Notebook 工具值得关注:

  • GitHub Copilot in VS Code Notebooks:直接在 Cell 里自动补全
  • Google Colab AI:内置 AI 代码生成功能
  • Cursor + Notebook 支持:用 AI 解释和修改整个 Notebook
  • Claude Artifacts:可以直接生成带数据可视化的完整代码片段

#实用技巧

#快捷键(JupyterLab / Classic Notebook)

Jupyter 有两种模式:Command 模式(按 Esc 进入,Cell 边框变蓝)和 Edit 模式(按 Enter 进入,Cell 边框变绿)。

快捷键模式作用
Shift + Enter通用执行当前 Cell 并跳到下一个
Ctrl + Enter通用执行当前 Cell,光标不动
ACommand在上方插入新 Cell
BCommand在下方插入新 Cell
DDCommand删除当前 Cell(按两次 D)
MCommand把 Cell 转成 Markdown
YCommand把 Cell 转成 Code
ZCommand撤销删除 Cell
Shift + MCommand合并选中的 Cell
TabEdit代码补全
Shift + TabEdit查看函数文档

#Magic Commands

这是 IPython 特有的功能,在代码前面加 % 或 %%:

python
# 计时:看这行代码跑了多久 %timeit sorted(range(1000)) # 整个 Cell 计时 %%time import pandas as pd df = pd.read_csv("data.csv") # 查看当前所有变量 %who %whos # 更详细的版本 # 直接跑 shell 命令 !pip install pandas !ls -la # 自动重新加载修改过的模块(开发库时超有用) %load_ext autoreload %autoreload 2 # 让 matplotlib 图表直接显示在 Notebook 里 %matplotlib inline

#推荐插件和扩展

JupyterLab 扩展:

  • jupyterlab-git:在 JupyterLab 里做 Git 操作
  • jupyterlab-lsp:代码补全和语法检查
  • jupyterlab-code-formatter:自动格式化代码(black / autopep8)

Classic Notebook 扩展(通过 jupyter_contrib_nbextensions):

  • Table of Contents:自动生成目录
  • Variable Inspector:查看所有变量
  • ExecuteTime:显示每个 Cell 的执行时间

#什么时候该换别的工具

Jupyter 不是万能的。遇到下面这些场景,换工具会更舒服:

场景更好的选择原因
多人实时协作做数据分析Hex专门为团队协作设计,版本控制和权限管理都更成熟
写生产级 Python 项目VS Code / PyCharm调试器、重构工具、测试集成都比 Notebook 强
SQL 为主的数据探索DuckDB + CLI不需要 Python 的开销,直接跑 SQL 更快
大规模数据处理 pipelineAirflow / DagsterNotebook 不适合调度和监控
快速做数据 dashboardStreamlit / Gradio比在 Notebook 里用 widget 方便得多
纯 Markdown 写技术笔记Obsidian / NotionNotebook 的 Markdown 体验一般

一个常见的成长路径:Jupyter 探索和验证想法 → 验证通过后把代码整理成 .py 模块 → 用正式的工程工具部署。不要试图在 Notebook 里完成所有事情。


#安装和上手

bash
# 最简单的方式 pip install jupyterlab jupyter lab # 或者用 conda conda install -c conda-forge jupyterlab # 如果只想要经典版 pip install notebook jupyter notebook

打开浏览器,默认地址 http://localhost:8888,就能开始用了。

如果连 Python 环境都不想配,直接用 Google Colab↗——打开浏览器就能写代码,零配置。


#相关资源

  • Hex - 团队协作数据分析平台
  • DuckDB - 嵌入式分析数据库
  • Pandas - Python 数据分析库
  • Jupyter 官网:https://jupyter.org↗
  • JupyterLab 文档:https://jupyterlab.readthedocs.io↗
  • Google Colab:https://colab.research.google.com↗
  • nbstripout:https://github.com/kynan/nbstripout↗
  • jupytext:https://github.com/mwouts/jupytext↗
免费资源

精选免费资料与工具合集

课程、工具与资料一站式获取。

查看免费资源 →

相关指南

Pandas 数据分析指南Pandas 数据分析指南→
Polars 高性能数据分析指南Polars 高性能数据分析指南→
DuckDB 分析数据库指南DuckDB 分析数据库指南→

相关路线图

ai-engineer→

常见问题

Jupyter Notebook 和 JupyterLab 有什么区别?
JupyterLab 是 Jupyter Notebook 的下一代界面,支持多标签页、终端、文件浏览器等,推荐使用 JupyterLab。
可以在 VS Code 中使用 Jupyter 吗?
可以。VS Code 安装 Jupyter 插件后,可以直接在编辑器中创建和运行 .ipynb 文件。

目录

  • Jupyter Notebook 完全指南
  • Jupyter 生态全景
  • 核心工作流:Cell 执行逻辑
  • Cell 1
  • Cell 2
  • Cell 3
  • 如果你回头重新跑 Cell 2,输出变成 20
  • Cell 的三种状态
  • 最容易翻车的地方
  • 1. 执行顺序混乱
  • 2. Kernel 死了
  • 3. `.ipynb` 版本控制是噩梦
  • 4. Notebook 越写越长收不住
  • AI 时代的 Jupyter
  • 实用技巧
  • 快捷键(JupyterLab / Classic Notebook)
  • Magic Commands
  • 计时:看这行代码跑了多久
  • 整个 Cell 计时
  • 查看当前所有变量
  • 直接跑 shell 命令
  • 自动重新加载修改过的模块(开发库时超有用)
  • 让 matplotlib 图表直接显示在 Notebook 里
  • 推荐插件和扩展
  • 什么时候该换别的工具
  • 安装和上手
  • 最简单的方式
  • 或者用 conda
  • 如果只想要经典版
  • 相关资源