当前位置: 首页 > news >正文

Jupyter Notebook 10个提升体验的高级技巧

Jupyter 笔记本是数据科学家和分析师用于交互式计算、数据可视化和协作的工具。Jupyter 笔记本的基本功能大家都已经很熟悉了,但还有一些鲜为人知的技巧可以大大提高生产力和效率。在这篇文章中,我将介绍10个可以提升体验的高级技巧。

改变注释的颜色

颜色使事物脱颖而出。我们可以使用不同的颜色来突出需要突出的重要内容。所以我们可以使用html来对我们的文本进行高亮显示,有4种类型可以直接使用:

Info

 <div class="alert alert-block alert-info"><b>Tip:</b> Use blue boxes (alert-info) for tips and notes. </div>

Warning

 <div class="alert alert-block alert-warning">Warning: Use Yellow for a warning that might need attention.</div>

Success

 <div class="alert alert-block alert-success">Green box can be used to show some positive such as the successful execution of a test or code.</div>

Danger

 <div class="alert alert-block alert-danger">Red boxes can be used to alert users to not delete some important part of code etc. </div>

代码折叠(隐藏代码单元)

代码太多的话会影响我们查看Notebook 的内容中,如果只想显示结果/图表,可以将以下 HTML 代码粘贴到笔记本的顶部单元格中,然后运行该单元格。

 %%html<style id=hide>div.input{display:none;}</style><button type="button" onclick="var myStyle = document.getElementById('hide').sheet;myStyle.insertRule('div.input{display:inherit !important;}', 0);">Show inputs</button>

结果如下:

魔法命令

Jupyter notebooks 包含很多的“魔法命令”,可以使用“%timeit”魔术命令:

交互式部件

Notebook 支持交互式部件,可以为数据分析构建自定义用户界面。例如可以创建一个滑块小部件来调整代码中的参数:

 from ipywidgets import interact @interact(x=(0, 10)) def square(x):print(x**2)

结果如下:

嵌入代码

可以使用反引号 (`) 在 Jupyter Notebook 的 Markdown 单元格中嵌入代码。

 `x = 10````Pythonstr = "This is block level code" print(str)

![](http://images.overfit.cn/upload/20230524/2ab9de66305d44459225d5aad3bec41d.png)## 转换成PPTJupyter 笔记本可以使用“rise”扩展转换为交互式PPT。首先要安装扩展,请运行以下命令:

!pip install RISE
!jupyter-nbextension install rise --py --sys-prefix
!jupyter-nbextension enable rise --py --sys-prefix


安装后,转到“View ”并选择“Slideshow ”(如果没有看到此选项,请刷新)。这样就可以为每个单元格选择幻灯片类型。![](http://images.overfit.cn/upload/20230524/f673453a2a3f42609dff016de2db9e12.gif)幻灯片类型可以是以下类型之一:Slide  — 幻灯片的基本类型。Sub-slide——“Slide ”的片段。Fragment  —幻灯片上的信息。Skip  — 在演示过程中跳过此单元格。Notes ——演讲者视图中出现的,类似提词器。结果如下:![](http://images.overfit.cn/upload/20230524/0e56fe27d9714f19ac5646b29b901180.gif)## 自定义 Matplotlib 图Jupyter Notebook 默认使用 Matplotlib 进行数据可视化,所以我们可以设置一些默认的参数,例如可以使用“rcParams”字典更改绘图标签的字体大小,这会将设置应用于所有 matplotlib 绘图:

import matplotlib.pyplot as plt

setting global settings

plt.rcParams.update({‘font.size’: 10,‘lines.linewidth’: 3})


![](http://images.overfit.cn/upload/20230524/9c78bd1c29724c17a131ca6d7128906a.png)## 自定义主题Jupyter Notebooks 带有默认主题,我们可以通过安装和应用自定义主题自定义外观。要安装主题,可以使用 jupyterthemes 包:

!pip install jupyterthemes


列出所有可用的主题:

!jt -l


然后,可以使用命令来安装主题,例如:

!jt -t grade3


安装完后,需要重启 Jupyter notebook。![](http://images.overfit.cn/upload/20230524/97dc83d5c140473eb07473bb917808bf.png)如果想重置默认主题,可以使用以下命令(记得重启):

!jt -r


##  LaTeX 支持如果需要包含数学方程式,您可以在 IPython 的显示模块中使用 LaTeX 语法。例如,以下代码将显示 2 个分数相加的数学表示及其输出。

from IPython.display import display, Math

display(Math(‘\frac{2}{3} + \frac{4}{5} = \frac{22}{15}’))


![](http://images.overfit.cn/upload/20230524/daf557f55da2419ab19bce6c34af84cf.png)## 单元格中显示多个输出Jupyter Notebook 中工作时,默认仅显示单元格中的最后一个输出。但是可以使用 IPython.core.interactiveshell 中的 InteractiveShell 模块在单个单元格中显示多个输出。要显示单元格的所有输出,可以在单元格的开头使用以下代码:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = “all”


![](https://img-blog.csdnimg.cn/img_convert/ecfceedd15aec382b1eb57e486ee8368.png)但是记住,这样如果变量多的话会很乱## 总结本文总结了一些充分利用 Jupyter Notebooks 的技巧。这些技巧可以帮助您简化工作流程并提高工作效率。无论是数据分析师、数据科学家还是机器学习工程师,Jupyter Notebooks 都可以成为工作的强大工具。通过掌握这些提技巧,可以将数据分析提升到一个新的水平,并使你的工作更加高效。[https://avoid.overfit.cn/post/519c06ca6f954da888d4ec9809e0a6d0](https://avoid.overfit.cn/post/519c06ca6f954da888d4ec9809e0a6d0)作者:Anmol Tomar

相关文章:

Jupyter Notebook 10个提升体验的高级技巧

Jupyter 笔记本是数据科学家和分析师用于交互式计算、数据可视化和协作的工具。Jupyter 笔记本的基本功能大家都已经很熟悉了&#xff0c;但还有一些鲜为人知的技巧可以大大提高生产力和效率。在这篇文章中&#xff0c;我将介绍10个可以提升体验的高级技巧。 改变注释的颜色 颜…...

CF 751 --B. Divine Array

Black is gifted with a Divine array a consisting of n (1≤n≤2000) integers. Each position in a has an initial value. After shouting a curse over the array, it becomes angry and starts an unstoppable transformation. The transformation consists of infinite…...

Springcloud1--->Eureka注册中心

目录 Eureka原理Eureka入门案例编写EurekaServer将user-service注册到Eureka消费者从Eureka获取服务 Eureka详解基础架构高可用的Eureka Server失效剔除和自我保护 Eureka原理 Eureka&#xff1a;就是服务注册中心&#xff08;可以是一个集群&#xff09;&#xff0c;对外暴露自…...

面试阿里、字节全都一面挂,被面试官说我的水平还不如应届生

测试员可以先在大厂镀金&#xff0c;以后去中小厂毫无压力&#xff0c;基本不会被卡&#xff0c;事实果真如此吗&#xff1f;但是在我身上却是给了我很大一巴掌... 所谓大厂镀金只是不卡简历而已&#xff0c;如果面试答得稀烂&#xff0c;人家根本不会要你。况且要不是大厂出来…...

JAVA开发(记一次删除完全相同pgSQL数据库记录只保留一条)

进行数据管理时&#xff0c;无效数据可能会对生产力和决策质量造成严重的影响。如何发现和处理无效数据变得愈发重要。一起来唠唠你会如何处理无效数据吧~ 方向一&#xff1a;介绍无效数据的概念 最近遇到了pg数据库表中的大量数据重复了&#xff0c;需要删除其中的一条。一条…...

音视频八股文(7)-- 音频aac adts三层结构

AAC介绍 AAC&#xff08;Advanced Audio Coding&#xff09;是一种现代的音频编码技术&#xff0c;用于数字音频的传输和存储领域。AAC是MPEG-2和MPEG-4标准中的一部分&#xff0c;可提供更高质量的音频数据&#xff0c;并且相比于MP3等旧有音频格式&#xff0c;AAC需要更少的…...

Docker代码环境打包进阶 - DockerHub分享镜像

1. Docker Hub介绍 Docker Hub是一个广泛使用的容器镜像注册中心&#xff0c;为开发人员提供了方便的平台来存储、共享和分发Docker容器镜像。它支持版本控制、访问控制和自动化构建&#xff0c;并提供了丰富的公共镜像库&#xff0c;方便开发人员快速获取和使用各种开源应用和…...

SQL进阶-having子句的力量

SQL进阶-having子句的力量 having子句是理解SQL面向集合这一本质的关键。 在以前的SQL标准里面&#xff0c;having子句必须和group by子句一起使用&#xff0c;但是按照现在的SQL标准&#xff0c;having子句是可以单独使用的 可以与case 表达式或者自连接等结合使用。表不是文件…...

Electron 如何创建模态窗口?

目录 前言一、模态窗口1.Web页面模态框2.Electron中的模态窗口3.区分父子窗口与模态窗口 二、实际案例使用总结 前言 模态框是一种常用的交互元素&#xff0c;无论是在 Web 网站、桌面应用还是移动 APP 中&#xff0c;都有其应用场景。模态框指的是一种弹出窗口&#xff0c;它…...

诺贝尔化学奖:酶分子“定向进化”

2018年&#xff0c;诺贝尔化学奖迎来了历史上第五位女性得主——加州理工学院的Frances H. Arnold教授&#xff0c;以表彰她在“酶的定向进化”这一领域的贡献。 1、“酶的定向进化”到底是什么&#xff1f; 这里有三个点&#xff0c;“酶”、“进化”还有“定向”&#xff1a…...

Centos8下源码编译安装运行Primihub

参考文献 PrimiHub 本地编译启动How to install Bazel on CentOS 8 Linux or Redhat 8/7 编译启动步骤 由于历史原因&#xff0c;服务器是Centos8操作系统&#xff0c;所以源码编译异常的麻烦。特此记录如下。 采用源码编译方式可以在一步步的运行过程中对整个流程进行深刻…...

嘉兴桐乡考证培训-23年教资认定注意事项你知道吗?

又到了新的一年了&#xff0c;去年错过认定的同学们可以竖起耳朵啦~ 每年认定机会有两次&#xff0c;大部分省份一般上半年下半年各一次。 问&#xff1a;在校生可以认定么&#xff1f; 答&#xff1a;可以&#xff0c;但有年级限制&#xff1a;本科生大四最后一学期&#xf…...

oracle客户端的安装教程

文章目录 一、安装前的准备工作 1.1、百度网盘安装包的连接 1.2、百度网盘oracle11g软件包 二、oracle数据库客户端的安装与数据的准备 安装步骤 前言 本文主要讲解oracle客户端的安装与简单使用过程 一、安装前的准备工作 1.1、百度网盘安装包的连接 客户端的软件包 …...

python 文件操作 , 异常处理 , 模块和包

文件操作 1.写数据 # open(name, mode) # name&#xff1a;是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。 # mode&#xff1a;设置打开文件的模式(访问模式)&#xff1a;只读、写入、追加等。 #1.打开文件---通道建立--申请资源 # w 模式会清空之前的内…...

AIGC技术研究与应用 ---- 下一代人工智能:新范式!新生产力!(1-简介)

文章大纲 AI GC简介决策式/分析式AI(Discriminant/Analytical AI)和生成式AI (Generative AI)参考文献与学习路径模型进化券商研报陆奇演讲AI GC 《我,机器人》中所演绎的一样,主角曾与机器人展开了激烈的辩论,面对“机器人能写出交响乐吗?”“机器人能把画布变成美丽…...

Flask restful分页接口实现

1.先定义一个工作信息表: 指定一些相关的字段:工作名称、年限、级别等 class Work(db.Model):__tablename__ = workid = db.Column(db.Integer, primary_key=True)workName = db.Column(db.String(5),nullable=False)year = db.Column(db.String(20), nullable=False)level = …...

27事务管理AOP

一、MySQL事务回顾 二、Spring事务管理 Spring框架的第一大核心&#xff1a;IOC控制反转 在DeptServiceImpl下删除部门方法下新加一个删除员工信息的操作&#xff0c;注意&#xff1a;此时的id是部门id。 1、问题分析 2、Transactional-Spring事务管理 一般是在Service实现类的…...

煤矿电子封条实施方案 yolov7

煤矿电子封条实施方案采用YOLOv7网络模型算法技术&#xff0c;煤矿电子封条实施算法模型过将全国各省矿山实时监测数据&#xff0c;实现对全国各矿山及时有效的处理及分析。YOLOv7 的发展方向与当前主流的实时目标检测器不同&#xff0c;研究团队希望它能够同时支持移动 GPU 和…...

Linux-inode和block概述

操作系统的文件数据除了实际内容之外&#xff0c;通常含有非常多的属性&#xff0c;例如Linux操作系统的文件权限与文件属性。文件系统通常会将这两部分内容分别存放在inode和block中。 inode 和 block 概述 文件是存储在硬盘上的&#xff0c;硬盘的最小存储单位叫做扇区sect…...

安卓开发投屏反控实现方式

在安卓开发中&#xff0c;可以通过MediaProjection API来实现屏幕投屏的功能&#xff0c;同时也可以通过Socket通信实现反控功能。下面将详细介绍实现步骤和注意事项。 1. 创建MediaProjectionManager对象 首先&#xff0c;我们需要创建一个MediaProjectionManager对象&#…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...