【机器学习】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…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门  本地文件记录:保存已…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
