【机器学习】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

  1. 打开命令行(终端)
    在 Windows 上,可以使用命令提示符或 Anaconda Prompt,在 macOS 或 Linux 上,使用终端
  2. 导航到工作目录
    使用 cd 命令导航到想保存笔记本的目录
  3. 启动 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,不仅提高个人工作效率,也能使笔记本更加易于理解和分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/382524.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天工Godwork AT 5.2.6 GodWork2D 2.1.5 GodWork EOS 2.1实景三维建模软件

天工Godwork AT 5.2.6/GodWork2D 2.1.5/GodWork EOS 2.1实景三维建模软件 获取安装包联系邮箱:2895356150qq.com 本介绍用于学习使用,如有侵权请您联系删除! 1.自主研发的平差技术,平差模块不依赖PATB、Bingo等国外技术 2.采用特征匹配&…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十七章 字符设备和杂项设备总结回顾

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

【es】elasticsearch 自定义排序-按关键字位置排序

一 背景 要求es查询的结果按关键字位置排序,位置越靠前优先级越高。 es版本7.14.0,项目是thrift,也可以平替springboot,使用easyes连接es。 二 easyes使用 配easyes按官方文档就差不多了 排序 | Easy-Es 主要的一个问题是easy…

HTTPServer改进思路2(mudou库核心思想融入)

mudou网络库思想理解 Reactor与多线程 服务器构建过程中,不仅仅使用一个Reactor,而是使用多个Reactor,每个Reactor执行自己专属的任务,从而提高响应效率。 首先Reactor是一种事件驱动处理模式,其主要通过IO多路复用…

ST Stellar-E SR5E1 22KW OBC combo 3KW DC-DC汽车充电器解决方案

对于全球的环境保护意识抬头,全球的汽车产业慢慢步入电动化的时代,以减少碳排放。整车系统主要是由电池、电驱、电控的三电所构成,其中电池系统是整车的动力来源,而对电池充电的OBC系统更甚重要。一具高度安全性且高效的OBC系统&a…

7.23 字符串简单中等 520 125 14 34

520 Detect Capital 思路: 题目:判定word :if the usage of capitals in it is right.遍历所有的string: 两种情况: 首字母capitals–>判定第二个字母是否大写–>所有字母大写 otherwise 除第一个以外全部小写&a…

使用xxl-job执行定时任务

文章目录 使用xxl-job执行定时任务xxl-job原理我们自己的项目里面需要怎么写定时任务呢?如果想要使用xxl-job我们需要在服务器上部署两个项目 使用xxl-job执行定时任务 xxl-job原理 首先xxl-job的全拼是“XiaoXiaoLiang Job”或者“Xu Xue Li”作者的名字&#xf…

华清数据结构day4 24-7-19

链表的相关操作 linklist.h #ifndef LINKLIST_H #define LINKLIST_H #include <myhead.h> typedef int datatype; typedef struct Node {union{int len;datatype data;};struct Node *next; } Node, *NodePtr;NodePtr list_create(); NodePtr apply_node(datatype e); …

从零开始学Java(超详细韩顺平老师笔记梳理)06——面向对象编程基础(上):类与对象、成员方法、传参机制、对象克隆、递归(斐波那契、迷宫、汉诺塔、八皇后)

文章目录 前言一、类与对象1. 类与对象的概述2. 快速入门&#xff08;用面向对象的方式解决问题&#xff09;3. 对象在内存中的存在形式&#xff08;重要&#xff09;4. 属性5. 类与对象的内存分配机制 二、成员方法1. 基本介绍2. 快速入门3. 方法调用机制原理&#xff08;重点…

【HarmonyOS学习】用户文件访问

概述 文件所有者为登录到该终端设备的用户&#xff0c;包括用户私有的图片、视频、音频、文档等。 应用对用户文件的创建、访问、删除等行为&#xff0c;需要提前获取用户授权&#xff0c;或由用户操作完成。 用户文件访问框架 是一套提供给开发者访问和管理用户文件的基础框…

【JavaEE初阶】线程的概念及创建

目录 &#x1f4d5; 前言 &#x1f4d5; 认识线程&#xff08;Thread&#xff09; &#x1f6a9; 概念 &#x1f60a;线程是什么 &#x1f642; 为啥要有线程 &#x1f62d; 进程和线程的区别&#xff08;面试题重点&#xff09; &#x1f92d; Java的线程和操作系统线程…

MyBatis-Plus的基本使用(一)

目录 前言 特性 MyBatis-Plus入门案例 常用注解 小结 前言 这篇文章主要来学习MyBatis-Plus这个非常强大的框架. 在学习MyBatis-Plus之前,需要有MyBatis的学习基础.因为MyBatis -Plus 是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#x…

Leetcode3216. 交换后字典序最小的字符串

Every day a Leetcode 题目来源&#xff1a;3216. 交换后字典序最小的字符串 解法1&#xff1a;模拟 找到第一个 s[i] > s[i 1]&#xff0c;且它们奇偶性相同&#xff0c;交换它们。 代码&#xff1a; /** lc appleetcode.cn id3216 langcpp** [3216] 交换后字典序最小…

Efficient and Effective Weakly-Supervised Action Segmentation via ATBA

**基于动作转移感知边界对齐的高效弱监督动作分割**介绍 动作分割的目的是将一个长的未裁剪的视频分割成几个片段&#xff0c;并将每个片段分类为一个动作类别&#xff0c;如下图所示&#xff1a; 弱监督动作分割 现有的训练方法大多需要通过对所有帧和文本进行序列比对来…

JavaScript构造函数小挑战

// 编码挑战 #1 /* 使用构造函数实现一辆汽车。一辆汽车有一个品牌和一个速度属性。speed 属性是汽车当前的速度&#xff0c;单位为 km/h&#xff1b; a. 执行一个 “accelerate ”方法&#xff0c;将汽车的速度提高 10&#xff0c;并将新速度记录到控制台&#xff1b; 3. a.…

笔记小结:现代卷积神经网络之批量归一化

本文为李沐老师《动手学深度学习》笔记小结&#xff0c;用于个人复习并记录学习历程&#xff0c;适用于初学者 训练深层神经网络是十分困难的&#xff0c;特别是在较短的时间内使他们收敛更加棘手。 本节将介绍批量规范化&#xff08;batch normalization&#xff09;&#xf…

Dav_笔记10:Using SQL Plan Management之3

将SQL计划基准与SQL Tuning Advisor一起使用 使用SQL Tuning Advisor调整SQL语句时&#xff0c;如果顾问程序找到调优计划并验证其性能优于从相应SQL计划基准中选择的计划&#xff0c;则建议接受SQL配置文件。 接受SQL配置文件后&#xff0c;数据库会将调整后的计划添加到相应…

群管机器人官网源码

一款非常好看的群管机器人html官网源码 搭建教程&#xff1a; 域名解析绑定 源码文件上传解压 访问域名即可 演示图片&#xff1a; 群管机器人官网源码下载&#xff1a;客户端下载 - 红客网络编程与渗透技术 原文链接&#xff1a; 群管机器人官网源码

云仓如何改变传统仓储模式?

云仓&#xff0c;即云仓储&#xff0c;是一种基于互联网技术的现代仓储模式&#xff0c;与传统的仓储模式相比&#xff0c;它在多个方面进行了创新和优化&#xff0c;包括&#xff1a; ———————————————————— 1、数据管理与实时监控&#xff1a; 云仓储利…

Element-ui :el-table 中表尾合计行

Table 表格 | Element Plus <template><el-table :data"tableData" border show-summary :summary-method"getSummariesss" style"width: 100%"><el-table-column prop"id" label"ID" width"180"…