ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Jupyter Notebook 完全指南:从原理到实战的必读教程

Jupyter Notebook 完全指南:从原理到实战的必读教程 如果一个课程在 Day 4 就专门留出一整节来讲 Jupyter Notebooks那说明它不仅是顺手用一下的工具而是整套课程内容的承载方式。NTMSS2023 这类密集型训练营包括很多机器学习、神经科学、数据科学方向的暑期课程之所以做这个安排是因为后面几乎所有练习、实验、作业提交都发生在 Notebook 里。很多人第一次接触时会觉得它不过是个能写代码的网页但真正用两周之后才会意识到Notebook 的好坏使用习惯直接决定了你是在愉快地做分析还是在跟浏览器和内核较劲。这篇文章不打算只讲安装命令。我会从 Jupyter 的核心原理讲起把 Cell、Kernel、前后端分离这些概念拆清楚再带你从零完成安装、启动、创建、运行和导出最后补充一套在项目实战中真正用得上的最佳实践。读完你会理解Jupyter 为什么这么设计也能独立排查最常见的启动失败、空白页面、内核错误等问题。1. 这篇文章真正要解决的问题先回答一个很多人没认真想过的问题Jupyter Notebook 到底解决的是哪一类痛点如果你平时用 PyCharm 或 VS Code 写 Python你的工作流通常是写一个.py文件然后运行整个文件在终端里看输出。这套流程对完整、独立、可重复运行的软件项目非常合适但对探索性数据分析和科研计算并不友好。你在做数据清洗时往往需要反复执行某几行看中间结果再改下一步如果每次都要重跑整个文件不仅浪费时间还会丢失中间过程的上下文。Jupyter 改变的是这个节奏。它把计算拆成了一个个 Cell你可以先加载数据再单独运行某个可视化代码块看看效果不满意就改这一格再运行。整个过程是边想边写边看而不是写完再跑。除了探索式工作Notebook 还有一个关键价值它把代码、输出、图表和文字说明放在同一个文档里。这对课程作业、项目汇报、技术博客、论文复现都极其重要。读者不仅能看到结果是什么还能看到你是怎么一步步得到这个结果的。从 NTMSS2023 这类课程的角度看选择 Notebook 还有两个实际原因低门槛不需要学生先掌握 IDE 配置、虚拟环境、调试器等复杂技能浏览器打开就能用。便于检查与提交课程方可以拿到有代码、有输出、有解释的完整文件不需要额外整理 Word 文档。所以这篇文章适合以下几类读者准备参加 NTMSS2023 或类似课程但之前很少使用 Jupyter 的同学。已经安装了 Anaconda但只知道双击图标打开不理解背后机制的新手。在 Windows 或 macOS 上遇到jupyter 不是内部或外部命令、页面空白、内核崩溃等问题的用户。想建立一套Notebook 工程化使用规范的进阶学习者。读完这篇文章你应该能完成三件事第一正确安装并启动 Jupyter Notebook第二理解 Cell、Kernel、魔术命令、虚拟环境这些核心概念第三用一套规范的方式管理你的 Notebook 项目避免常见的坑。2. Jupyter Notebook 的核心概念与设计思想2.1 从记事本到可计算文档Jupyter 这个名字来自三个核心语言的缩写Julia、Python、R。虽然它现在支持几十种语言内核但 Python 用户占绝大多数。Notebook 的核心文件格式是.ipynb全称是 Interactive Python Notebook。它本质上是一个 JSON 文件里面按顺序存储了多个 Cell。每个 Cell 可以是一段代码、一段 Markdown 文字或者一段原始文本。这是它与普通.py文件最大的区别同一个文件里既有可运行的代码也有渲染后的文字说明和图片输出。你可以在浏览器里看到渲染后的漂亮效果但底层只是一个结构清晰的 JSON。这也是为什么你可以在 GitHub 上直接预览 Notebook也可以用nbconvert把它转换成 HTML、PDF、Markdown 等格式。2.2 Cell 是什么Cell 是 Notebook 的基本单元。常用有两种Code Cell包含可执行代码。运行后输出会显示在 Cell 下方。Markdown Cell使用 Markdown 语法编写说明文字支持标题、列表、公式、图片等。每次运行一个 Code CellNotebook 会把这个 Cell 里的代码发送给内核Kernel执行然后把返回值或打印输出显示出来。这里有一个初学者最容易忽略的事实同一个 Notebook 里前面的 Cell 定义的变量在后面所有 Cell 中都是可见的。因为所有 Cell 共享同一个内核进程的命名空间。举个例子# Cell 1 x 10# Cell 2 print(x) # 输出 10很多人第一次遇到的情况是单独运行 Cell 2 时报错提示x未定义。原因往往是你在运行 Cell 1 之前就已经运行了 Cell 2。Notebook 的共享命名空间既是优点也是坑优点是你不用每次重跑前面的代码缺点是 Cell 之间的执行顺序一旦混乱整个文档就失去了可复现性。2.3 Kernel 是什么Kernel 是真正执行代码的后端进程。你在界面上点击运行实际上是通过前端把代码发给 KernelKernel 执行完再把结果传回浏览器。Jupyter 的架构可以简单概括为三层层作用常见实现前端用户交互界面展示 Cell 和输出Jupyter Notebook、JupyterLab、VS Code、PyCharm后端服务管理 Notebook 文件与请求路由jupyter-server / notebook server内核实际执行代码的计算引擎ipykernelPython、IRkernelR等这层分离带来了两个重要结果你完全可以在浏览器里写代码但真正计算发生在服务器或者云端的另一台机器上。远程开发场景下你只需要把端口映射出来即可。你可以在同一个 Notebook 中选择不同内核比如在 Python 内核和 R 内核之间切换虽然同一个 Notebook 不建议来回切。2.4 Kernel 状态的含义在 Notebook 界面右上角你会看到一个圆形小图标空心圆内核空闲尚未开始执行。实心圆填充内核忙碌正在执行代码。如果长时间处于忙碌状态可能是代码进入了死循环或者执行了非常耗时的操作。遇到死循环时可以在菜单中选择Kernel - Restart来强制重启内核。注意重启后所有变量都会丢失需要重新运行前面的 Cell。3. 环境准备Jupyter Notebook 安装方式对比安装 Jupyter 的路径不止一条。选择哪条取决于你的使用场景和对系统环境的控制需求。这里给出三种主流方式。3.1 方式一安装 Anaconda推荐新手Anaconda 是一个 Python 发行版内置了 Jupyter Notebook、JupyterLab、Spyder、conda 包管理器和大量数据科学库。对新手来说安装 Anaconda 之后Jupyter 基本开箱即用不需要额外配置。到 Anaconda 官网下载对应操作系统的安装包一路默认安装即可。安装完成后在命令行输入jupyter notebook如果能看到日志输出并自动打开浏览器说明安装成功。为什么推荐新手用 Anaconda因为数据科学常用的numpy、pandas、matplotlib、scikit-learn都已经装好了省去了逐个安装依赖的麻烦。坏处则是安装包体积较大而且预装的包版本可能不是你项目需要的版本。3.2 方式二使用 pip 安装适合有 Python 基础如果你已经安装了 Python不想因为 Jupyter 再引入一个庞大的 Anaconda可以直接用 pippip install jupyter安装完成后同样使用jupyter notebook启动。这个方式比较轻量但要注意Jupyter 只会使用你当前安装它的 Python 环境。如果你用系统 Python 安装那 Notebook 里就只能用系统 Python 的包无法使用 conda 环境里的包。这一点很多人踩坑。如果之后需要切换环境要安装并注册对应的 ipykernel后面第 8 节会详细讲。3.3 方式三使用 Miniconda进阶推荐Miniconda 是 Anaconda 的精简版只包含 conda 和 Python。你可以按需创建环境、安装包。conda install jupyter这种方式的好处是环境可控磁盘占用小坏处是很多东西都要自己动手装不适合纯新手。3.4 三个方式怎么选方式适合场景优点缺点Anaconda新手、课程学习、数据分析开箱即用预装库多体积大包版本可能保守pip已有 Python 环境只是补装 Jupyter轻量使用已有环境环境隔离要自己管Miniconda熟悉命令行、多环境管理灵活体积小配置成本高一些无论选择哪种方式安装后建议先确认版本jupyter --version如果输出显示了jupyter-core、ipython、notebook等组件的版本号说明安装成功。4. 启动 Jupyter Notebook 并完成第一个 Notebook4.1 选择工作目录启动 Notebook 前先想清楚一个经常被忽略的问题你应该在哪个目录启动它Jupyter 启动后你在浏览器文件列表里看到的默认目录就是你启动命令时所在的目录。如果你在某个课程文件夹里启动打开的就是这个文件夹里的文件。推荐做法为每个项目建立独立文件夹先进入这个文件夹再启动 Jupyter。以 Windows 为例cd C:\Users\你的用户名\NTMSS2023\Day4 jupyter notebook以 macOS / Linux 为例cd ~/NTMSS2023/Day4 jupyter notebook4.2 启动后会发生什么启动成功后终端会出现类似下面的日志[I 10:08:12.100 NotebookApp] Serving notebooks from local directory: /Users/xxx/NTMSS2023/Day4 [I 10:08:12.101 NotebookApp] Jupyter Notebook 6.x.x is running at: [I 10:08:12.101 NotebookApp] http://localhost:8888/?tokenxxxxxxxxxxxxxxxxxxxxxxxx这里localhost:8888是本地服务地址浏览器的每次请求都会由notebook server处理。日志中的token是访问凭证。如果你的浏览器没有自动打开可以把完整地址复制到浏览器地址栏手动访问。注意启动 Notebook 后这个终端窗口不要关闭。一旦关闭终端Notebook 服务就会停止浏览器里的页面会显示连接失败。4.3 创建并运行第一个 Notebook在 Notebook 首页文件列表中点击右上角的New选择Python 3即可创建一个新的 Notebook。在新页面里默认会有一个空的 Code Cell。在 Cell 中输入print(Hello, NTMSS2023!)按Shift Enter运行输出会出现在 Cell 下方Hello, NTMSS2023!到这里你已经完成了第一个 Notebook 的运行。之后可以把文件保存为first_notebook.ipynb。5. 核心操作实战代码、Markdown 与快捷操作如果想要高效地使用 Jupyter Notebook只靠鼠标点运行是远远不够的。这一节会带你掌握真正高频使用的操作。5.1 代码 Cell 与输出Code Cell 是你写 Python 代码的地方。支持 Python 语法高亮、自动补全Tab 键、错误提示等基础功能。先创建一个 Code Cell输入以下代码# 文件路径Notebook Cell 中直接执行无需创建单独文件 import numpy as np import matplotlib.pyplot as plt # 设置在 Notebook 中内联显示图片 %matplotlib inline x np.linspace(0, 2 * np.pi, 100) y np.sin(x) plt.plot(x, y) plt.title(Sin Curve) plt.show()按Shift Enter运行后你会看到一条正弦曲线直接输出在 Cell 下方。这是 Notebook 最吸引人的特性之一图表和代码出现在同一文档里。代码里的%matplotlib inline是魔术命令作用是让 matplotlib 生成的图片直接嵌入到 Notebook 输出区域而不是弹出一个新的窗口。后面会进一步说明魔术命令。5.2 Markdown Cell 与文档化在 Notebook 中把 Cell 类型切换为 Markdown就可以编写富文本内容。你会经常用 Markdown Cell 做这些事记录思路和分析结论。用标题组织 Notebook 的结构。用 LaTeX 公式写数学推导。插入图片链接或表格。在第 5.1 节的绘图 Cell 上方插入一个 Markdown Cell切换到 Markdown 类型输入## 正弦函数可视化 这段代码生成一条正弦曲线。 $$ y \sin(x) $$按Shift Enter运行后Markdown 会被渲染成带标题和数学公式的展示效果。这样你的 Notebook 不再只是一堆代码而是一份自解释的分析报告。5.3 常用快捷键Jupyter Notebook 有两种输入模式编辑模式正在输入内容的状态按Esc退出到命令模式。命令模式可以对 Cell 进行管理操作按Enter进入编辑模式。高频快捷键如下按键模式功能Shift Enter任意运行当前 Cell并选中下一个 CellAlt Enter任意运行当前 Cell并在下方插入新 CellA命令模式在当前 Cell 上方插入新 CellB命令模式在当前 Cell 下方插入新 CellM命令模式将当前 Cell 改为 Markdown 类型Y命令模式将当前 Cell 改为 Code 类型D D连按两次命令模式删除当前 CellShift Tab编辑模式查看函数签名或参数提示Ctrl S编辑模式保存 Notebook这些快捷键不用刻意背用熟几个核心的就够了Shift Enter运行、A/B插入、M/Y切换类型、D D删除。5.4 魔术命令以%开头的行指令被称为魔术命令。它们是 IPython 提供的增强功能不是标准 Python 语法但极大提升了 Notebook 使用体验。常用的魔术命令# 统计某段代码的执行时间 %time sum(range(1000000)) # 显示整段代码的执行时间 %%time result 0 for i in range(100000): result i # 快速查看变量的更多信息 %whos # 在 Notebook 中内联显示 matplotlib 图片 %matplotlib inline # 执行外部 Python 脚本 %run my_script.py # 列出当前 Cell 中定义的全部变量 %who%time和%%time的区别值得一提%time只统计它所在那一行的执行时间%%time统计整个 Cell 的执行时间。在调试性能问题时非常有用。6. 运行结果与效果验证读完前文你已经能创建 Noteboook 并执行代码了。但执行成功和整个环境工作正常是两件事。这一节说说验证思路。6.1 启动层面的验证启动jupyter notebook后从终端日志和浏览器页面两个角度确认终端没有报错退出的情况。浏览器能打开文件列表页面。点击已有.ipynb文件能正常进入 Notebook 编辑器页面。如果这三个都满足说明 notebook server 本身工作正常。6.2 计算层面的验证进入一个新 Notebook执行以下代码import sys print(sys.version)预期输出是当前内核使用的 Python 版本号。如果输出正常说明内核可用。再运行一个简单的数据处理示例验证第三方库import pandas as pd df pd.DataFrame({name: [Alice, Bob], score: [88, 92]}) print(df.head())如果能正常输出 DataFrame说明pandas环境没问题。6.3 输出保存与导出验证做完整分析之后通常需要把 Notebook 分享出去。最常用的导出方式是jupyter nbconvert --to html first_notebook.ipynb也可以导出为 Markdownjupyter nbconvert --to markdown first_notebook.ipynb导出成功后first_notebook.html或first_notebook.md会出现在当前目录检查文件是否存在即可确认导出成功。6.4 如何判断是否运行成功在 Notebook 中Cell 左侧的In [ ]会变成In [1]Out[1]表示存在输出。如果执行报错Cell 下方会出现红色异常堆栈信息。这里要提醒一句没有报错不代表结果正确只代表代码没有让内核抛出异常。数据分析项目的正确性验证往往要回到数据本身比如检查数据量、检查分布、检查关键指标是否在合理范围。7. 常见问题与排查思路Jupyter Notebook 在使用过程中出现的问题不少但大多数都有非常固定的排查路径。下面列出高频问题。问题现象可能原因排查方式解决方案提示jupyter 不是内部或外部命令Python 或 Anaconda 未加入系统 PATH或安装失败检查安装路径在终端输入python --version确认 Python 可用重新安装 Anaconda 并勾选加入 PATH或用python -m jupyter notebook启动浏览器打开后页面空白notebook server 启动失败、端口占用、浏览器缓存问题查看启动终端日志是否有报错换浏览器访问试试重启 notebook server换个端口jupyter notebook --port8889清理浏览器缓存Notebook 自动在错误的浏览器打开系统默认浏览器设置问题确认系统默认浏览器启动后手动复制日志中的 URL 到目标浏览器访问内核一直显示忙碌或执行无响应代码死循环或资源耗尽检查代码是否有while True死循环在菜单中执行Kernel - Restart内核反复崩溃Kernel Restarting代码触发了底层崩溃或包版本不兼容查看浏览器控制台和终端日志尝试运行极简代码测试逐个排除第三方库更新或降级冲突包端口 8888 被占用已有其他 notebook 服务在运行在终端看lsof -i :8888macOS/Linux或netstat -anoWindows使用--port8889或--no-browser启动想在别的浏览器打开 Notebook默认浏览器不是目标浏览器手动复制访问地址在启东前设置默认浏览器或用--browser参数指定conda/mamba 环境里启动的 Notebook 看不到指定环境的包环境没有注册对应 ipykernel检查当前环境是否安装了ipykernel在激活的环境中运行python -m ipykernel install --user --name环境名无法创建.py文件Notebook 的设计目标是以.ipynb为主用File - Download as - Python (.py)导出或用jupyter nbconvert --to script转换在这些问题中jupyter不是内部或外部命令是 Windows 新手最常见的问题。原因一般是你安装了 Anaconda但安装时没有勾选Add to PATH。不必急着改系统环境变量更稳妥的做法是在 Anaconda Prompt 中启动 Jupyter或者用python -m jupyter notebook来启动。另一个高发问题是页面空白。先区分两种情况终端里能不能看到服务正常启动的日志。如果终端显示服务已经运行在localhost:8888但浏览器空白大概率不是 Jupyter 本身的问题而是浏览器缓存或扩展冲突可以先换无痕窗口试试。8. Notebook 与虚拟环境、内核管理很多人在 Jupyter 里遇到包找不到的问题根本原因混在一起Notebook 默认使用的内核环境并不一定是你当前激活的 conda 环境。8.1 为什么会有这个问题当你用 Anaconda 创建了一个新环境conda create -n ntmss python3.10 conda activate ntmss pip install pandas numpy然后启动 Jupyterjupyter notebook此时 Notebook 右下角显示的内核可能是Python 3 (ipykernel)但它在 Notebook 里运行import pandas时却报错。为什么因为你启动的 Jupyter 可能是从 base 环境的快捷方式启动的它默认注册的是 base 环境的内核。解决思路是把当前 conda 环境注册成 Jupyter 可用的内核。# 确保当前环境有 ipykernel conda activate ntmss pip install ipykernel # 注册内核 python -m ipykernel install --user --namentmss --display-name Python (ntmss)之后重启 Jupyter在Kernel - Change Kernel里选择Python (ntmss)再运行import pandas就能找到包了。8.2 获取当前内核信息在 Notebook 里运行以下代码可以看到正在使用的 Python 解释器路径import sys print(sys.executable)如果输出的是/opt/anaconda3/envs/ntmss/bin/python说明当前内核来自ntmss环境如果输出 base 环境的路径说明内核还是 base。这是一个快速判断方法。8.3 如何把 Notebook 转换为 .py 文件前面提到Notebook 默认格式是.ipynb。如果你想得到纯.py文件有两种方式。方式一在浏览器页面中使用菜单File - Download as - Python (.py)方式二使用命令行转换jupyter nbconvert --to script first_notebook.ipynb转换后会生成first_notebook.py。需要注意的是转换出的.py文件会保留所有代码 Cell但会把 Markdown 内容变成注释。如果你需要更干净的结果可以借助jupytext这类工具进行双向同步不过那是进阶话题了。8.4 在 PyCharm 和 VS Code 中使用 Notebook现在的主流 IDE 也支持打开.ipynb文件。在 PyCharm 专业版中可以直接打开 Notebook 文件选择解释器后运行 Cell。在 VS Code 中安装 Python 扩展后同样可以打开 Notebook并使用已有的虚拟环境作为内核。如果你习惯在 IDE 里写代码但不希望切换窗口这种方案很合适。不过要提醒一点同一个.ipynb文件如果在 Jupyter 和 IDE 中交替编辑建议不要同时打开两个编辑器因为可能存在冲突保存导致文件损坏。任何一端先关闭再做另一端的编辑。9. Jupyter Notebook 还是 JupyterLab很多刚接触的用户会困惑Jupyter 家族里既有 Notebook又有 Lab我到底该用哪个其实两者底层是同一套内核和文件格式只是前端界面不同。维度Jupyter NotebookJupyterLab界面形态单文件标签页多标签工作台类似 IDE文件管理简单文件列表自带文件资源管理器、终端多文件对比不方便支持并排打开插件扩展有限支持更丰富的扩展适合场景经典 Notebook 工作流、课程教学项目开发、多任务并行如果你参加 NTMSS2023 这类课程导师给的讲义或作业地址通常仍然是jupyter notebook风格所以先掌握 Notebook 界面不会错。如果你在做自己的数据科学项目建议直接使用 JupyterLabjupyter labJupyterLab 打开后的默认界面不再是一个单个 Notebook而是一个可折叠的工作台。左侧是文件树中间是打开的 Notebook 或 Markdown 文件右侧是属性面板。它还内置了终端你可以在里面执行 shell 命令不需要另开一个命令行窗口。还有一点很实用在 JupyterLab 里你可以把某个.py文件用代码编辑器打开同时把另一个.ipynb文件放在旁边边看代码边看 Notebook。这种体验更接近现代 IDE。不过 JupyterLab 也有学习成本比如启动后怎么切换目录。实际上它的目录就是左侧文件树当前所在目录。启动时先cd到目标目录再执行jupyter lab左侧文件树就会显示该目录内容进入任意子目录后新建的所有 Notebook 默认保存在该子目录中。10. 最佳实践与工程建议这一节的内容是我认为整篇文章最有长期价值的部分。Jupyter Notebook 用起来简单但在真实项目中容易失控。很多人在课程结束、进入工作或科研项目后回头才意识到早期没有养成好习惯。10.1 命名与组织结构给 Notebook 文件命名时建议使用编号 主题的方式00_数据概览.ipynb 01_数据清洗.ipynb 02_特征工程.ipynb 03_模型训练.ipynb 04_结果分析.ipynb examples/这样按顺序执行时依赖关系更清晰。注意 Notebook 文件名不要包含空格和中文在部分系统或版本控制工具中会引起不必要的问题。10.2 保持 Cell 执行顺序可复现Notebook 的一个常见问题是你早上运行了 Cell 1 到 Cell 8下午又改了 Cell 5然后直接运行 Cell 9结果依赖的是修改前的状态。为了避免这种混乱建议调整代码顺序后执行Kernel - Restart Run All完整跑一遍。不要反复穿插运行 Cell尽量保持从上到下的执行顺序。如果某个 Cell 依赖前面的结果最好在 Notebook 开头用文字说明。10.3 清理输出后再提交如果把 Notebook 作为作业或报告提交建议在最终提交前清空所有 Cell 输出Kernel - Restart Clear Output然后在确认输出正确后再保存。这样做的意义是避免文件中残留无意义的中间输出也让审阅者能从头到尾看到干净的运行过程。10.4 不要在生产环境直接使用 NotebookNotebook 非常适合探索和演示但不适合直接作为生产调度任务运行。实际项目中更常见的做法是在 Notebook 中完成分析和建模实验。把最终验证过的代码整理成.py模块交由调度平台或容器化服务运行。原因是 Notebook 的交互式执行顺序、隐式状态和不完整的错误处理在无人值守的自动化场景里会成为隐患。如果你想自动化运行 Notebook可以考虑jupyter nbconvert --execute但生产链路依然建议使用标准 Python 工程结构。10.5 安全问题与数据边界涉及真实业务数据时必须注意不要将含有敏感信息的 Notebook 直接上传到公开仓库。提交前检查输出中是否包含身份证号、手机号、密钥等敏感信息。如果数据不能出内网不要在本地公网环境启动 Notebook 服务也不要随意使用远程共享链接。默认启动方式会带token不要关闭token验证否则任何人访问你的端口都能执行代码。10.6 使用版本控制.ipynb文件本质是 JSONGit 可以管理它但 diff 可读性较差。推荐在项目中增加.gitignore.ipynb_checkpoints/ *.pyc同时可以考虑配置nbstripout来在提交前自动去除输出内容或者使用jupytext把 Notebook 同步为.py文件做文本化版本管理。11. 总结与后续学习方向这篇文章从 NTMSS2023 的课程实践出发完整拆解了 Jupyter Notebook 的使用链路它的核心概念是 Cell 和 Kernel前后端分离是它灵活性的来源安装路径推荐按场景从 Anaconda、pip、Miniconda 中做选择启动后的高频操作集中在 Cell 编辑、Markdown 渲染、魔术命令和快捷键虚拟环境与内核的映射关系是包找不到问题的关键Notebook 和 JupyterLab 的关系则取决于你更偏重经典教学还是项目开发。如果只看操作Jupyter 的门槛很低。但从工程角度它需要你额外把控执行顺序、环境隔离、输出清理和数据安全。这些细节未必会在课程 Day 1 讲到却是你从能跑通走向把 Notebook 用专业的分水岭。接下来可以继续探索的方向包括用 JupyterLab 构建更完整的本地分析工作台通过ipywidgets给 Notebook 增加交互组件用jupytext实现 Notebook 与.py文件双向同步结合nbstripout解决团队协作中的版本管理问题有需要时也可以了解远程服务器或云环境下的 Jupyter 部署方式。最后留一个简单练习新建一个名为day4_exercise.ipynb的 Notebook用 Markdown 写下你要解决的一个问题用 Code Cell 加载一组数据可以是pandas自带的示例数据完成一次简单统计和一次可视化然后从File - Download as导出为 HTML 或.py文件。跑完这个过程你对 Jupyter 的理解会比只看教程要深入得多。建议把本文收藏备用之后遇到安装或内核问题时可以按目录快速查找。
返回列表