相关文章推荐
任性的棒棒糖  ·  Swift-WKWebView_swift ...·  5 月前    · 
率性的红酒  ·  Troubleshoot mapping ...·  1 年前    · 
飘逸的咖啡豆  ·  MongoDB ...·  1 年前    · 

译者 | Walker

编辑 | 安可

出品 | 磐创AI技术团队

【磐创AI导读】: Jupyter Notebook是一个交互式的、便于创建的、支持实时编程和共享文档的编程环境。本文将带大家学习几个Jupyter Notebook的扩展功能,以便大家更方便的使用这个宝贵的工具。也欢迎大家点击上方蓝字关注我们的公众号: 磐创AI ,获取更多的机器学习、深度学习资源。

首先我们在命令提示符输入以下命令:

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

然后启动 Jupyter Notebook 并导航到新的 Nbextensions 拓展选项卡,如下图所示:

接下来启动扩展选项卡(如果没有看到选项卡,打开 Notebook 并单击 Edit>nbextensionsconfig ),启用后的扩展可以在 Notebook 中的工具栏中看到,如下图所示:

那么什么是 Notebook 的扩展呢? Jupyter Notebook 扩展是扩展 Notebook 环境基本功能的简单附加组件。它们用 JavaScript 编写,可以自动格式化代码,或者当单元格完成时发送浏览器通知。扩展目前只能在 Jupyter Notebook ,而不能在 Jupyter Lab 中工作。

为什么使用这些 Jupyter Notebook 扩展? Jupyter Notebook 是教学、学习、原型、探索和尝试新方法的好工具。然而 , 普通 Notebook 的特性是有限的,这可能使它们的工作无法满足很多人进一步的需求。虽然 Jupyter Notebook 扩展并不能完全解决问题,但它们确实增加了一些好处,使我们的工作变得更加容易。

以下是最常使用的 5 Jupyter Notebook 的扩展:

1. Table of Contents

如果我们需要在 Jupyter Notebook 中找到几十个单元,就很难完全跟踪它们。而 Table of Contents 通过添加可以位于页面上任何位置的链接来很好的解决这个问题:

此外,我们还可以使用扩展名在 Notebook 的顶部添加链接的内容表。这样可以很方便的显示,选择哪个单元以及哪个单元正在运行,如下图所示:

2. Autopep8:

事实上,我们每个人都应该编写与 pep8 兼容的代码,但有时我们会陷入困惑之中,很难找到最佳的练习。当我们遇到这种情况时,这个 Autopep8 的扩展允许我们通过单击上方的“木槌“按钮”,自动格式化混乱的代码。如下图所示:

这就像最好的附加组件一样,这个 Autopep8 组件通过简单的单击完成一项耗时长且乏味的任务,使我们能够集中精力思考主要的问题。

3. Variableinspector:

Variableinspector (变量检查器)显示我们在 Notebook 中创建的所有变量的名称,以及它们的类型、大小、形状和值。如下图所示:


这个工具对于从 RStudio 迁移来的项目来说是非常宝贵的。或是当我们不想继续打印 df.shape 、无法回忆 x 的类型时, Variableinspector 将变得非常有用。

4. ExecuteTime

我们有时经常想要弄清楚一个单元需要多长时间运行,或者我们最后一次运行一个 Notebook 具体是什么时候, ExecuteTime 通过显示单元格何时完成以及花费多长时间来解决这两个问题。

此外,还有其它的计时方法,例如: %%timeit cellmagic ,虽然使用起来比较简单,但却覆盖了 Notebook 中原来所有的单元。所以我还是推荐大家使用 ExecuteTime 扩展。

5.  Hide Code input

尽管我们中的一些人喜欢进行分析的工作,但另外一部分人却喜欢直接看到分析后的结果。 Hide Code input 扩展允许我们在保持输出的同时,立即将所有代码隐藏在 Notebook 中,满足了不同的需求。

上述就是我为大家总结的五个最常用的 Jupyter Notebook 扩展,您可以通过安装扩展并打开 Notebook 查看整个拓展列表,发现更多有用的拓展,我们甚至还可以编写自己的扩展名,具体方法可以参见以下教程:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31555081/viewspace-2286960/,如需转载,请注明出处,否则将追究法律责任。

广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员