【机器学习】Jupyter Notebook如何使用之基本步骤和进阶操作
引言
Jupyter Notebook 是一个交互式计算环境,它允许创建包含代码、文本和可视化内容的文档
文章目录
- 引言
- 一、基本步骤
- 1.1 启动 Jupyter Notebook
- 1.2 使用 Jupyter Notebook 仪表板
- 1.3 在笔记本中工作
- 1.4 常用快捷键
- 1.5 导出和分享笔记本
- 二、进阶用法
- 2.1 组织笔记本结构
- 2.2 编写清晰的代码
- 2.3 使用魔术命令
- 2.4 管理单元格输出
- 2.5 使用交互式小部件
- 2.6 代码单元格管理
- 2.7 利用扩展功能
- 2.8 数据分析最佳实践
- 2.9. 资源管理
- 2.10 安全性和隐私
一、基本步骤
以下是使用 Jupyter Notebook 的一些基本步骤:
1.1 启动 Jupyter Notebook
- 打开命令行(终端):
在 Windows 上,可以使用命令提示符或 Anaconda Prompt,在 macOS 或 Linux 上,使用终端 - 导航到工作目录:
使用cd命令导航到想保存笔记本的目录 - 启动 Jupyter Notebook:
输入以下命令并按回车:
jupyter notebook
这将启动 Jupyter 服务器,并在默认的 Web 浏览器中打开 Jupyter Notebook 的仪表板,如图所示:

1.2 使用 Jupyter Notebook 仪表板
仪表板显示了当前目录下的文件和文件夹,以下是一些基本操作:
-
新建笔记本:点击右上角的“新建”按钮,选择 Python3 或其他想使用的内核来创建一个新的笔记本、文件夹或终端

-
打开笔记本:点击已存在的笔记本文件名,如图所示:


-
重命名笔记本:点击笔记本文件名旁边的复选框,然后点击“重命名”按钮,如图所示:

-
删除笔记本:选择笔记本,然后点击“删除”按钮,如图所示:

1.3 在笔记本中工作
一旦打开或创建了一个笔记本,可以开始编写代码和文本
- 添加新单元格:点击“+”按钮或使用菜单中的“插入”选项来添加新单元格
- 选择单元格类型:
- 代码(Code):用于编写和执行代码
- Markdown:用于编写格式化的文本和内联的 LaTeX 数学表达式
- 原始NBConvert:用于原始文本
- 编辑单元格:点击单元格,开始输入文本或代码
- 运行单元格:
- 按下
Shift + Enter来运行当前单元格并选择下面的单元格 - 按下
Alt + Enter来运行当前单元格并在下面插入一个新单元格 - 按下
Ctrl + Enter来运行当前单元格而不移动焦点
- 按下
- 保存笔记本:使用菜单中的“文件”选项,然后选择“保存和检查点”或使用快捷键
Ctrl + S
1.4 常用快捷键
Shift + Enter:运行当前单元格,选择下面的单元格Alt + Enter:运行当前单元格,并在下面插入一个新单元格Ctrl + Enter:运行当前单元格A:在上方插入新单元格B:在下方插入新单元格D + D(两次D):删除选中的单元格M:将当前单元格转换为 Markdown 单元格Y:将当前单元格转换为代码单元格
1.5 导出和分享笔记本
- 导出:可以将笔记本导出为多种格式,如 HTML、PDF、Markdown 或纯 Python 脚本
- 分享:Jupyter Notebook 可以通过电子邮件、Dropbox、GitHub 或其他在线平台轻松分享

通过这些基本步骤,可以开始使用 Jupyter Notebook 进行数据探索、分析、可视化以及教学和学习
二、进阶用法
遵循以下实践和建议,以提高工作效率和代码质量
2.1 组织笔记本结构
- 使用Markdown单元格:为笔记本添加清晰的标题、子标题和章节描述,使用Markdown格式来提高可读性
- 分割内容:将笔记本分割成不同的部分,每个部分使用Markdown单元格进行说明,然后是相应的代码单元格
- 使用目录:对于较长的笔记本,可以在顶部创建一个目录,方便快速导航
2.2 编写清晰的代码
- 遵循PEP 8:遵守Python编码标准PEP 8,保持代码格式一致
- 使用注释:在代码单元格中添加注释,解释复杂的逻辑或重要的步骤
- 避免冗余:删除不再需要的代码,保持笔记本整洁
2.3 使用魔术命令
- %matplotlib inline:用于在笔记本中内联显示图表
- %load_ext:加载扩展,如
line_profiler用于性能分析 - %timeit:测量代码执行时间
2.4 管理单元格输出
- 清除输出:使用“单元格”菜单中的“全部清除输出”来清理笔记本
- 禁用代码输出:在代码单元格后面添加一个分号
;来阻止输出显示 - 折叠长输出:对于长输出,使用
out = _(下划线)来保存输出,而不立即显示
2.5 使用交互式小部件
- ipywidgets:使用
ipywidgets库创建滑块、下拉菜单和其他交互式小部件,使笔记本更加动态
2.6 代码单元格管理
- 单元格合并:使用“编辑”菜单中的“合并单元格”来合并多个单元格
- 单元格拆分:将一个单元格拆分成多个单元格,以细化代码块
2.7 利用扩展功能
- 安装扩展:使用
nbextensions来安装和启用Jupyter Notebook扩展,如代码折叠、预览Markdown等 - 使用Nbextensions:例如,
Table of Contents (2)可以自动生成目录
2.8 数据分析最佳实践
- 使用Pandas:高效处理数据集
- 可视化:使用Matplotlib、Seaborn或Plotly进行数据可视化
- 版本控制:使用
git进行版本控制,注意.ipynb_checkpoints目录不应被提交到版本库
2.9. 资源管理
- 关闭未使用的内核:在Jupyter Dashboard中关闭不再需要的内核,释放资源
- 定期保存:定期保存笔记本,避免数据丢失
2.10 安全性和隐私
- 避免在笔记本中保存敏感数据:不要在笔记本中保存密码或敏感信息
- 使用JupyterHub:在多用户环境中使用JupyterHub来管理用户访问和资源
通过以上建议,可以更加优雅和高效地使用Jupyter Notebook,不仅提高个人工作效率,也能使笔记本更加易于理解和分享
相关文章:
【机器学习】Jupyter Notebook如何使用之基本步骤和进阶操作
引言 Jupyter Notebook 是一个交互式计算环境,它允许创建包含代码、文本和可视化内容的文档 文章目录 引言一、基本步骤1.1 启动 Jupyter Notebook1.2 使用 Jupyter Notebook 仪表板1.3 在笔记本中工作1.4 常用快捷键1.5 导出和分享笔记本 二、进阶用法2.1 组织笔…...
C++ | Leetcode C++题解之第279题完全平方数
题目: 题解: class Solution { public:// 判断是否为完全平方数bool isPerfectSquare(int x) {int y sqrt(x);return y * y x;}// 判断是否能表示为 4^k*(8m7)bool checkAnswer4(int x) {while (x % 4 0) {x / 4;}return x % 8 7;}int numSquares(i…...
Vue 3 响应式高阶用法之 `shallowRef()` 详解
Vue 3 响应式高阶用法之 shallowRef() 详解 文章目录 Vue 3 响应式高阶用法之 shallowRef() 详解简介一、使用场景1.1 深层嵌套对象的性能优化1.2 需要部分响应式的场景 二、基本使用2.1 引入 shallowRef2.2 定义 shallowRef 三、功能详解3.1 浅层响应式3.2 与 ref 的对比 四、…...
流量录制与回放:jvm-sandbox-repeater工具详解
在软件开发和测试过程中,流量录制与回放是一个非常重要的环节,它可以帮助开发者验证系统在特定条件下的行为是否符合预期。本文将详细介绍一款强大的流量录制回放工具——jvm-sandbox-repeater,以及如何利用它来提高软件测试的效率和质量。 …...
内网渗透—内网穿透工具NgrokFRPNPSSPP
前言 主要介绍一下常见的隧道搭建工具,以此来达到一个内网穿透的目的。简单说一下实验滴环境吧,kali作为攻击机,winserver2016作为目标靶机。 kali 192.168.145.171 winserver2016 10.236.44.127 显然它们处于两个不同的局域网,…...
嵌入式中传感器数据处理方法
大家好,在传感器使用中,我们常常需要对传感器数据进行各种整理,让应用获得更好的效果,以下介绍几种常用的简单处理方法: 加权平滑:平滑和均衡传感器数据,减小偶然数据突变的影响。 抽取突变:去除静态和缓慢变化的数据背景,强调瞬间变化。 简单移动平均线:保留数据流最…...
生成式 AI 的发展方向,是 Chat 还是 Agent?
据《福布斯》报道,商业的未来是自动化。他们报告说,自动化的应用是不可避免的,“工人们即将被一个圈子和一套规则包围,要严格遵守,不能偏离。得益于聊天机器人ChatGPT于2022年11月推出所带来的强劲加持,202…...
金字塔监督在人脸反欺骗中的应用
介绍 论文地址:https://arxiv.org/pdf/2011.12032.pdf 近年来,人脸识别技术越来越普及。在智能手机解锁和进出机场时,理所当然地会用到它。人脸识别也有望被用于管理今年奥运会的相关人员。但与此同时,人们对人脸欺骗的关注度也…...
vue3——两种利用自定义指令实现防止按钮重复点击的方法
方法一:利用定时器设置时间,下方代码设置时间为1秒 但是有个缺点:请求如果很慢,1秒钟还没有好,那么该方法就没用了 // 利用定时器:1秒之后才能再次点击app.directive(preventReClick, {mounted: (el, bind…...
Chrome谷歌浏览器Console(控制台)显示文件名及行数
有没有这样的困扰?Chrome谷歌浏览器console(控制台)不显示编译文件名及行数? 设置(Settings)- > 忽略列表(lgnore List)-> 自定义排除规则(Custom exclusion rules) 将自定义排除规则…...
Vue3+Element Plus 实现table表格中input的验证
实现效果 html部分 <template><div class"table"><el-form ref"tableFormRef" :model"form"><el-table :data"form.detailList"><el-table-column type"selection" width"55" align&…...
安宝特方案|解放双手,解决死角,AR带来质量监督新体验
AR质量监督 解放双手,解决死角 在当今制造业快速发展的背景下,质量监督成为确保产品高质量和完善的管理制度的关键环节。然而,传统的质量监督方式存在诸多挑战,如人工操作带来的效率低下、查岗不及时、摄像头死角等问题。 为了解…...
Django教程(005):基于ORM操作数据库的部门管理系统
文章目录 1、功能介绍2、新建项目3、创建app4、 表结构创建6、生成表7、静态文件管理8、部门管理8.1、部门列表8.2、添加部门8.3、删除部门8.4、编辑部门9、员工管理9.1、员工列表9.2、使用ModelForm添加员工9.3、编辑员工9.4、删除员工10、完整代码下载地址1、功能介绍 部门添…...
git等常用工具以及cmake
一、将git中的代码克隆进电脑以及常用工具介绍 1.安装git 首先需要安装git sudo apt install git 注意一定要加--recursive,因为文件中有很多“引用文件“,即第三方文件(库),加入该选项会将文件中包含的子模…...
Mybatis(四)特殊SQL的查询:模糊查询、批量删除、动态设置表明、添加功能获取自增的主键
实体类: 数据库: 1、模糊查询 方案一: 不适用#{ },’%?%‘ 问号是属于字符串的一部分 不会被解析成占位符,会被当作是我们字符串的一部分来解析,所以我们执行的语句中找不到占位符,但是我们却…...
JS原型与原型链
JS原型与原型链 JavaScript中一切引用类型都是对象,对象就是属性的集合。 Array类型、Function类型、Object类型、Date类型、RegExp类型等都是引用类型。 原型是什么 总计一句话就是(继承里的父亲,你可以使用你的原型里的函数)…...
Python编程学习第一篇——Python零基础快速入门(六)(4)异常处理
我们已经了解了Python的基本数据类型、变量和基本的逻辑控制语句,基于这些基础知识可以编写一些小程序了,但是在写程序的时候我们会发现,有时候程序并不是按我们预期的方向执行,有的直接报错,有的没有报错,…...
GraphHopper-map-navi_路径规划、导航(web前端页面版)
文章目录 一、项目地址二、踩坑环境三、问题记录3.1、graphhopper中地图问题3.1.1. getOpacity不存在的问题3.1.2. dispatchEvent不存在的问题3.1.3. vectorLayer.set(background-maplibre-layer, true)不存在set方法3.1.4. maplibre-gl.js.map不存在的问题3.1.5. Uncaught Ref…...
2-46 基于matlab的声音信号的短时能量、短时过零率、端点检测
基于matlab的声音信号的短时能量、短时过零率、端点检测。通过计算计算短时能量、调整能量门限,然后开始端点检测。输出可视化结果。程序已调通,可直接运行。 2-46 短时能量 短时过零率 端点检测 - 小红书 (xiaohongshu.com)...
力扣630.课程表 II
力扣630.课程表 II 反悔堆 将课程按照结束时间从大到小排序每次取一个判断当前是否能学完该课程如果能学完就将持续时间加入堆 更新答案如果学不完就判断该课程持续时间是否比之前学过的最大的还大 用时更短的话就将旧的弹出 class Solution {public:int scheduleCourse(ve…...
手把手教你搞定CMT2300A的315MHz匹配电路:从原理图到物料清单(附实测数据)
深入解析CMT2300A在315MHz频段的射频匹配电路设计与实战优化 作为一名长期深耕射频硬件设计的工程师,我最近在工业遥控器项目中遇到了一个典型挑战:如何为CMT2300A设计稳定可靠的315MHz匹配电路。与常见的433MHz应用不同,315MHz频段在元件参数…...
数据恢复全面指南:开源数据救援工具组合实战手册
数据恢复全面指南:开源数据救援工具组合实战手册 【免费下载链接】testdisk TestDisk & PhotoRec 项目地址: https://gitcode.com/gh_mirrors/te/testdisk 数据丢失的噩梦与解决方案 2023年,摄影师小李在一次外景拍摄后误格式化了SD卡&#…...
禅修运维法:服务器宕机时集体冥想
当技术危机遇上心灵平静在软件测试领域,服务器宕机是高频挑战,不仅中断测试流程,还引发团队压力。传统运维强调硬件修复和代码调试,但忽略了人的因素——压力下的决策失误往往加剧问题。禅修运维法创新性地将佛教禅修融入IT管理&a…...
精益生产方式的核心功能拆解:精益生产方式如何解决多品种小批量场景下的库存积压难题
在当前制造业从“少品种大批量”向“多品种小批量”急剧转型的背景下,精益生产方式已成为企业打破库存僵局的唯一出路,它通过准时化拉动和消除浪费的核心逻辑,精准解决了传统模式下因预测失效导致的严重库存积压问题;面对多变的订…...
PasteMD真实案例分享:从零散笔记到结构化学习计划的全过程
PasteMD真实案例分享:从零散笔记到结构化学习计划的全过程 1. 引言:当杂乱笔记遇上智能格式化 你是否经历过这样的困境?电脑桌面上散落着十几个临时创建的记事本文件,手机备忘录里堆满了未经整理的零散想法,会议录音…...
Gemma-3-12b-it实战教程:极简UI背后隐藏的12B模型内存映射优化策略
Gemma-3-12b-it实战教程:极简UI背后隐藏的12B模型内存映射优化策略 1. 项目概述 Gemma-3-12b-it是一款基于Google Gemma-3-12b-it大模型开发的本地多模态交互工具。这款工具针对12B大模型进行了全维度的CUDA性能优化,支持图片上传和文本提问的流式生成…...
Wan2.2-T2V-A5B提示词怎么写?新手快速出效果的实用指南
Wan2.2-T2V-A5B提示词怎么写?新手快速出效果的实用指南 1. 认识Wan2.2-T2V-A5B视频生成模型 Wan2.2-T2V-A5B是一款由通义万相开源的轻量级文本到视频生成模型,拥有50亿参数规模。虽然它生成的视频分辨率是480P,但在时序连贯性和运动推理能力…...
NaViL-9B多模态模型5分钟快速部署:图文问答零基础入门教程
NaViL-9B多模态模型5分钟快速部署:图文问答零基础入门教程 1. 认识NaViL-9B多模态模型 NaViL-9B是上海人工智能实验室推出的原生多模态大语言模型,它不仅能像传统语言模型一样处理纯文本问答,还具备强大的图片理解能力。这意味着你可以上传…...
解密数字图像处理中的m邻接:从理论到实战的连通性优化
1. 为什么我们需要m邻接? 第一次接触数字图像处理时,你可能和我一样被各种邻接关系绕晕。记得当时处理一个简单的二值图像,用8邻接做连通区域分析,结果两个明明分开的方块被错误地连在了一起。这就是典型的"歧义路径"问…...
焕新Windows资源管理器:打造惊艳毛玻璃视觉体验
焕新Windows资源管理器:打造惊艳毛玻璃视觉体验 【免费下载链接】ExplorerBlurMica Add background Blur effect or Acrylic (Mica for win11) effect to explorer for win10 and win11 项目地址: https://gitcode.com/gh_mirrors/ex/ExplorerBlurMica 每天面…...
