首页 > 其他分享 >太棒了,这才称得上 Jupyter Notebook 五大效率插件

太棒了,这才称得上 Jupyter Notebook 五大效率插件

时间:2022-10-03 11:34:53浏览次数:55  
标签:插件 Jupyter 单元格 扩展 notebook Notebook


​Jupyter Notebook​​​ 是一个很棒的教学、探索和编程环境,但其功能不足也是出了名的。幸好,有许多方法可以改进这个不错的工具,如 ​​Jupyter Notebook​​ 扩展工具。

极简版教程

在命令提示符中运行以下命令:

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

启动 Jupyter Notebook,并导航至新的 Nbextensions 选项卡:

太棒了,这才称得上 Jupyter Notebook 五大效率插件_原型设计


这是技术群小伙伴交流出来的成果,喜欢本文点赞、关注、收藏。

Jupyter Notebook 扩展选项

选择你想要的扩展功能,享受它带来的优势。

(如果你没看到扩展选项,打开 ​​notebook​​,单击「edit」,然后点「nbextensions config」)

在 ​​notebook​​ 的工具栏里可以看到扩展插件:

太棒了,这才称得上 Jupyter Notebook 五大效率插件_技术交流_02

较长版教程

如果你觉得上面的教程太简单,可以看看下面的复杂版。我还列出了我最喜欢的五个扩展插件。

什么是 notebook 扩展插件?

​Jupyter Notebook​​​ 扩展插件是扩展 notebook 环境基本功能的简单插件。它们用 JavaScript 语言编写,会自动套用代码格式或者在单元格完成后发送浏览器通知。扩展插件目前仅支持 ​​Jupyter Notebook​​(不支持 Jupyter Lab)。

为什么要使用扩展插件?Jupyter Notebook 是一个很好用的工具,可用于教学、学习、原型设计、探索和尝试新方法(甚至可用于 Netflix 的生产过程中)。但是,原版 notebook 功能有限,有时令人挫败。虽然 Jupyter Notebook 扩展插件没有完全解决这个问题,但它们确实能让你的工作变得更轻松。

该用哪些扩展插件?

以下是我最常用的五种 Jupyter Notebook 扩展插件:

1、Table of Contents

更容易导航

如果你在一个 Jupyter Notebook 中同时开启了十几个单元格,那你想跟踪所有单元格就会有些困难。Table of Contents 通过添加 TOC 链接解决了这个问题,通过 TOC 链接你可以定位到页面中的任何位置。

太棒了,这才称得上 Jupyter Notebook 五大效率插件_python_03

Table of Contents 界面

你还可以使用该扩展插件在 ​​notebook​​ 的顶部添加一个链接目录。这样会显示你选择了哪一个目录以及哪一个正在运行:

太棒了,这才称得上 Jupyter Notebook 五大效率插件_技术交流_04

Notebook 中的 Table of Contents 界面

2、Autopep8

轻轻一击就能获得简洁代码

我们都应该编写符合 pep8 标准的代码,但有时你会陷入分析,难以坚持这种标准。所以当你写完代码后,只要单击这个选项,就可以让代码变得简洁漂亮。

太棒了,这才称得上 Jupyter Notebook 五大效率插件_原型设计_05

使用 Autopep8 的效果

这个插件可以称得上是最好的插件了,仅需点击一下,就能完成一项耗时又乏味的工作,让你专注于思考。

3、variable inspector

跟踪你的工作空间

variable inspector 会显示你在 notebook 中创建的所有变量的名称,以及它们的类型、大小、形状和值。

太棒了,这才称得上 Jupyter Notebook 五大效率插件_python_06

variable inspector

这个工具对于从 RStudio 迁移过来的数据科学家来说是无价之宝。如果你不想继续打印 df.shape 或无法重新调用 x 的 type,这个工具对你来说也同样重要。

4、ExecuteTime

显示单元格耗时。我经常不知道某个单元格需要运行多久或者最后一次运行一个打开好几天的 notebook 是什么时候。ExecuteTime 完美解决这个问题,它会显示单元格的运行完成时间和所耗时长。

太棒了,这才称得上 Jupyter Notebook 五大效率插件_技术交流_07

ExecuteTime 的输出

的确有更好的计时方法,如 %%timeit,但 ExecuteTime 易于实现,且可以覆盖 notebook 中的所有单元格。

5、隐藏代码输入

隐藏过程,展示结果

虽然有些人喜欢看到某项艰苦工作的具体分析,但有些人却只想看到结果。隐藏所有输入的插件让你能够立即隐藏 notebook 中的所有代码,只保留结果。

太棒了,这才称得上 Jupyter Notebook 五大效率插件_数据挖掘_08

隐藏所有代码

下一次如果有人说他们只想看结果,你只要单击一下就可以了。(不过你还是得经常检查代码。)

以上是我最常用的五种扩展插件,你还可以尝试其他扩展插件。先安装扩展插件,然后打开 notebook 探索吧!

结论

安装 ​​Jupyter Notebook​​ 扩展插件,花点时间弄清楚哪些有用,然后提高自己的工作效率。虽然这些功能不至于改变你的人生,但它们带来的益处也是值得的。而且累积起来为你节约了很多宝贵的开发时间。

如果你正在写生产代码,你可能会更愿意花些时间学习 IDE(我喜欢 ​​VS Code​​​),但 ​​Jupyter Notebook​​ 仍然是数据科学工作流程中不可或缺的一部分。如果你要使用这个环境,就最好把它用到极致,以从中获得最大的收益。


标签:插件,Jupyter,单元格,扩展,notebook,Notebook
From: https://blog.51cto.com/u_11215354/5729978

相关文章

  • Jupyter notebook 详细安装步骤
    前言:在安装​​Jupyter​​​notebook之前,确认您已安装python编译器(​​点击进入python官网​​)一、开始安装1、打开cmd命令窗口    在键盘上点击  win+r键,......
  • 如何将谷歌插件下载到本地?
    如何将谷歌插件下载到本地?在谷歌商店里找到想要下载的插件或在扩展程序里找到已安装的插件,复制插件的ID号。复制插件ID然后复制到id%3D和%26的中间部分。https:/......
  • markdown preview插件安装后无法同步显示网页
    安装了Plug用:checkhealth检查,说ruby有问题,按照提示,安装了编译环境,gcc和g++的都需要安装ruby没有问题了猜想:现在checkhealth只有python3那边说需要设置一个pythonhost......
  • 网络安全中常用浏览器插件、拓展
    引言现在的火狐、Edge( Chromium内核)、Chrome等浏览器带有插件、拓展(Plugin)的功能。这些插件中有的可以过滤广告,有的提供便捷的翻译,有的提供JavaScript脚本支持,方便用户的......
  • MybatisPlus学习之MyBatisX插件比代码生成器还好用的哦
    一、MyBatisX的作用:1.​​xml​​​跳转2.生成代码3.重置代码4.JAP提示跟代码生成器比较:代码生成器生成文件还有controller等文件,而mybatsx没有,但是代码生成器生成的mapper......
  • java使用aspose插件实现word转pdf
    在业务上遇到了这种要把上传的word文件转成pdf的实现。在网上找了一堆乱七八糟的也不知道什么玩意,最后得出用aspose第三方插件实现最好,其他的都太乱了,poi插件什么的都没成......
  • 使用maven中tomcat插件运行web应用程序
    是这样的,在我学习springmvc的时候,第一次按照教程使用maven中的tomcat插件运行web应用程序,然后就遇到下面类似的问题:  他这里一直在run,搞得很难受(一直认为时运行失败导......
  • 谷歌浏览器安装vue-devtools插件
    1、访问github地址:https://github.com/vuejs/devtools下载安装包(zip)2、进入到解压后的devtools-add-remote-devtools包中,在文件夹路径中打开cmd窗口,执行npmi(如果慢的话可......
  • 性能分析插件
    pom.xml<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId></dependency><dependency><groupId>p6spy</groupId......
  • 防全表更新与删除插件
    ​​官方文档​​配置类@ConfigurationpublicclassMybatisPlusConfig{@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInte......