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

news2024/12/30 3:19:50

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`
 
 ```Python
 str = "This is block level code" 
 print(str)

![](http://images.overfit.cn/upload/20230524/2ab9de66305d44459225d5aad3bec41d.png)

## 转换成PPT

Jupyter 笔记本可以使用“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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工程安全监测振弦采集仪在岩土工程中的应用

工程安全监测振弦采集仪在岩土工程中的应用 岩土工程中使用振弦采集仪在工程建设中起着至关重要的作用。振弦采集仪可以测量地面或者岩土中的振动参数&#xff0c;通过这些参数可以对地基、土壤和岩体的性质及其变化进行监测&#xff0c;帮助我们更好地了解工程地质条件和工程建…

Windows 11将加入Copilot的AI助手;约26%的中国用户已经部署了生成式AI技术

&#x1f680; 微软在Build开发者大会上宣布&#xff0c;将在Windows 11中加入一个名为Copilot的AI助手 微软在Build开发者大会上宣布&#xff0c;将在Windows 11中加入一个名为Copilot的AI助手&#xff0c;用户可以在任何应用程序中调用它&#xff0c;并根据用户的需求提供智…

【C++ 学习 ⑧】- STL 简介

目录 一、什么是 STL&#xff1f; 二、STL 的版本 三、STL 的 6 大组件和 13 个头文件 四、学习 STL 的 3 个境界 五、STL 的缺陷 参考资料&#xff1a; STL教程&#xff1a;C STL快速入门&#xff08;非常详细&#xff09; (biancheng.net)。 C STL是什么&#xff0c;有…

“五一”假期出行,伴随着哪些风险

2023年“五一”假期&#xff0c;文化和旅游行业复苏势头强劲&#xff0c;全国假日市场平稳有序。文化和旅游部数据中心测算&#xff0c;全国国内旅游出游合计2.74亿人次。 据交通部门数据显示&#xff0c;自4月27日铁路“五一”假期运输启动以来&#xff0c;截至5月4日&#x…

旧照片怎么修复成新照片?分享三种简单好用的修复方法

旧照片是我们珍贵的回忆&#xff0c;但是随着时间的推移&#xff0c;它们可能会因为自然衰老或者其他原因而变得模糊或者损坏。修复旧照片可以让我们重新体验美好的回忆&#xff0c;保留珍贵的记忆。随着技术的进步&#xff0c;现在可以通过数字化技术将旧照片修复成数字照片&a…

如何理解机器人学习和研究中的存量和增量

对于博客流量也类似如此&#xff0c;存量很重要&#xff0c;增量随着需求减弱&#xff0c;导致后发优秀的博主想要获得更高的关注和流量&#xff0c;需要花费比10年前博主更多的精力和时间。 自己工作地方现状就是存量薄弱&#xff0c;增量缓慢。 存量可以理解为基础增量可以理…

leecode77——组合(回溯算法)

leecode77 组合问题 &#x1f50e;1.回溯算法是什么&#xff1f; 其实回溯算法和我们常说的 DFS 算法非常类似&#xff0c;本质上就是一种暴力穷举算法。回溯算法和 DFS 算法的细微差别是&#xff1a;回溯算法是在遍历「树枝」&#xff0c;DFS 算法是在遍历「节点」。 解决回…

第四十九天学习记录:C语言进阶:结构体

结构体 结构体的声明 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量 struct tag {member-list; }variable-list;问&#xff1a;C的new和C语言的结构体有什么异同&#xff1f; ChatAI答&#xff1a; C中的new是一个运算符&#xff…

Scrum的三个工件(产品Backlog、Sprint Backlog、产品增量 )

产品Backlog •产品backlog是一个按照价值排序的需求清单。 •为了达成产品目标&#xff0c;所有的需求都需要放到产品backlog中进行管理和规划。 •由产品负责人负责管理和维护。 产品Backlog当中的工作按照迭代的方式推进 •在Scrum中Sprint&#xff08;冲刺&#xff09…

Spring Security 中的过滤器链是什么?它的作用是什么

Spring Security是一个安全框架&#xff0c;它提供了强大的安全保护功能&#xff0c;可以帮助开发者更加方便地实现应用程序的安全性。Spring Security中的过滤器链是其中一个非常重要的部分&#xff0c;它起到了非常重要的作用。本文将介绍什么是Spring Security中的过滤器链&…

经典JavaScript手写面试题和答案

文章目录 实现一个函数去重&#xff1f;实现一个函数&#xff0c;判断指定元素在数组中是否存在&#xff1f;实现一个函数&#xff0c;将给定字符串反转&#xff1f;实现一个函数&#xff0c;检测指定字符串是否为回文&#xff08;即从前往后和从后往前的字符序列都相同&#x…

【30天熟悉Go语言】2 Go开发环境搭建、Hello World程序运行

文章目录 一、前言二、安装和配置SDK1、安装2、环境配置 三、开发工具1、GoLand2、VS Code 四、Hello World程序通过命令运行1&#xff09;go build2&#xff09;go run 1、Go 和 Java的文件结构对比2、Go和Java常用包对比 五、Go执行流程1、先编译再运行2、一次性编译运行区别…

一、尚医通登录需求

文章目录 一、登录需求1、登录效果2、登录需求 二、登录1&#xff0c;搭建service-user模块1.1 搭建service-user模块1.2 修改配置1.3 启动类1.4 配置网关 2、添加用户基础类2.1 添加model2.2 添加Mapper2.3 添加service接口及实现类2.4 添加controller 3、登录api接口3.1 添加…

leetcode刷题之数组问题总结,二分法,移除元素,滑动窗口相关问题,螺旋矩阵相关问题

目录 一、二分查找相关应用704.二分查找35.搜索插入位置方法一:二分法暴力解法 34.在排序数组中查找元素的开始位置和最后一个位置方法一&#xff1a;暴力解法方法二&#xff1a;二分法&#xff0c;确定左右两侧的边界 69.x的平方根方法一:二分法方法二&#xff1a;暴力解法错解…

图表控件LightningChart JS v.4.0全新发布!引入DataGrid 组件、新的颜色主题

LightningChart JS是性能最高的JavaScript图表库&#xff0c;专注于实时数据可视化。是Web上性能最高的图表库具有出色的执行性能 - 使用高数据速率同时监控数十个数据源。 GPU加速和WebGL渲染确保您的设备的图形处理器得到有效利用&#xff0c;从而实现高刷新率和流畅的动画。…

MySQL主从同步(不开GTID)

一、背景 了解并熟悉MySQL的主从同步的搭建过程&#xff0c;并解决搭建过程中所碰到的问题。 二、目标 了解并熟悉MySQL的主从同步的搭建过程&#xff0c;并解决搭建过程中所碰到的问题。 IP地址MySQL版本主从关系192.168.3.2445.6.51Master192.168.3.2455.7.41Slaver192.16…

Flutter三棵树系列之详解各种Key | 京东云技术团队

简介 key是widget、element和semanticsNode的唯一标识&#xff0c;同一个parent下的所有element的key不能重复&#xff0c;但是在特定条件下可以在不同parent下使用相同的key&#xff0c;比如page1和page2都可以使用ValueKey(1) 。 常用key的UML关系图如上&#xff0c;整体上…

Apache Hudi 在袋鼠云数据湖平台的设计与实践

在大数据处理中&#xff0c;实时数据分析是一个重要的需求。随着数据量的不断增长&#xff0c;对于实时分析的挑战也在不断加大&#xff0c;传统的批处理方式已经不能满足实时数据处理的需求&#xff0c;需要一种更加高效的技术来解决这个问题。Apache Hudi&#xff08;Hadoop …

安科瑞对于热继电器对电动机保护的探讨

安科瑞 徐浩竣 江苏安科瑞电器制造有限公司 zx acrelxhj 摘要:电动机烧毁是每一个生产企业都无法回避的现象&#xff0c;怎样加强电动机保护&#xff0c;使生产工艺系统的稳定&#xff0c;减少企业非正常停机时间。电动机保护成为电气技术人员一个重要课题。因此&#xff0c…

嵌入式 QT QListWidget 显示列表视图的小部件类

目录 1. 添加对象 2. 设置间距 3. 获取内容 4. 删除对象 5.更改对象内容 在Qt框架中&#xff0c;QListWidget是一个用于显示列表视图的小部件类。它提供了一种方便的方式来显示和管理项目列表。QListWidget可以显示文本、图像和其他自定义的项目项&#xff0c;并允许用户进…