当前位置: 首页 > 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
http://www.lryc.cn/news/70333.html

相关文章:

  • CF 751 --B. Divine Array
  • Springcloud1--->Eureka注册中心
  • 面试阿里、字节全都一面挂,被面试官说我的水平还不如应届生
  • JAVA开发(记一次删除完全相同pgSQL数据库记录只保留一条)
  • 音视频八股文(7)-- 音频aac adts三层结构
  • Docker代码环境打包进阶 - DockerHub分享镜像
  • SQL进阶-having子句的力量
  • Electron 如何创建模态窗口?
  • 诺贝尔化学奖:酶分子“定向进化”
  • Centos8下源码编译安装运行Primihub
  • 嘉兴桐乡考证培训-23年教资认定注意事项你知道吗?
  • oracle客户端的安装教程
  • python 文件操作 , 异常处理 , 模块和包
  • AIGC技术研究与应用 ---- 下一代人工智能:新范式!新生产力!(1-简介)
  • Flask restful分页接口实现
  • 27事务管理AOP
  • 煤矿电子封条实施方案 yolov7
  • Linux-inode和block概述
  • 安卓开发投屏反控实现方式
  • 外网SSH远程连接linux服务器「cpolar内网穿透」
  • Deferred Components-实现Flutter运行时动态下发Dart代码 | 京东云技术团队
  • 08 集合框架1
  • 内卷把同事逼成了“扫地僧”,把Git上所有面试题整理成足足24W字测试八股文
  • 10-jQuery-遍历children、parent、for、each、for...of等
  • 联想集团财报:收入持续下滑,联想集团财务前景已恶化
  • GPT4限制被破解!ChatGPT实现超长文本处理的新方法
  • 奋斗,然后成功:我的架构狮之梦
  • 自定义属性,v-bind computed的使用
  • 解决城市内涝的措施有哪些?需要用到哪些监测设备?
  • Spark大数据处理讲课笔记----Spark任务调度