人工智能/机器学习/大数据领域的小伙伴对Jupyter Notebooks一定不会陌生,没错!它就是数据科学/机器学习社区内一款非常流行的工具。如果说有什么每个数据科学家都应该使用或必须了解的工具,那非 Jupyter Notebooks 莫属了(之前也被称为 iPython 笔记本)。Jupyter Notebooks 很强大,功能多,可共享,并且提供了在同一环境中执行数据可视化的功能。
Jupyter Notebooks 允许数据科学家创建和共享他们的文档,从代码到全面的报告都可以。它们能帮助数据科学家简化工作流程,实现更高的生产力和更便捷的协作。进入Jupyter Notebooks的官方网站首页,你会看到有非常多的知名公司在其支持清单中,其流行程度可见一斑。
Jupyter Notebooks官网首页支持企业清单
然而,Jupyter Notebooks的功能还是相对有限的,这些简单的功能可能令我们在实际工作实战中屡屡感到沮丧。所以我们需要Jupyter Notebooks扩展部分地解决这些问题,使您的工作更轻松。
Jupyter Notebook扩展是简单的附加组件,可扩展环境的基本功能。它使用JavaScript编写,可以执行自动编码代码或在单元格完成时发送浏览器通知等操作。扩展目前仅适用于Jupyter Notebooks(不是Jupyter Lab)。
那么如何安装扩展呢?
启动Jupyter Notebook,并导航到新的Nbextensions选项卡(如下图),就可以搜索和安装扩展插件了。
Nbextensions选项卡
以下是经常使用的5个Jupyter Notebook扩展:
1.Table of Contents:更轻松的导航
一旦你开始在一台Jupyter Notebook中获得数十个单元格,就很难跟踪它们。Table of Contents通过添加TOC连接,让我们可以定位在页面上任何位置,以提高导航效率:
Table of Contents
您还可以通过该扩展程序,在笔记本顶部添加链接的目录,甚至可以显示选择了哪个单元格以及哪个单元格正在运行。
Table of Contents
2. Autopep8:只需点击一下即可获得整洁的代码
我们都应该编写符合pep8标准的代码,但有时你会陷入分析中,并且很难坚持最佳实践。当你完成了那个令人惊叹的plot曲线图时,这个扩展允许你只需点击木槌按钮,就可以自动格式化你的杂乱代码。
Autopep8
与其他最好的附加组件一样,只需单击一下即可完成一项耗时且繁琐的任务,使您能够专注于思考问题。
3.Variable inspector:跟踪您的工作区
Variable inspector变量检查器显示您在笔记本中创建的所有变量的名称,以及它们的类型,大小,形状和值。
Variable inspector
这个工具是对那些从RStudio转移过来的数据科学家们显得非常宝贵,如果你不希望不停地打印df.shape或记不起来变量x的类型,那就赶紧安装这个扩展插件吧。
4. ExecuteTime:显示单元格运行的时间和长度
我经常发现自己试图弄清楚一个单元格究竟运行了多长时间,或者从上次运行到目前已经运行了多长时间。ExecuteTime正好解决这一问题,它可以显示单元格何时完成以及花费多长时间。
ExecuteTime扩展输出
有其他的计时方法(如对%%timeit 单元格魔法),但是ExecuteTime这个插件更容易实现我们需要的功能,并涵盖了笔记本上所有的单元格。
5. Hide Code input:隐藏工作显示结果
虽然我们中的一些人喜欢看到分析中的艰苦工作,但有些人只是喜欢看到结果。Hide Code input这个扩展程序允许您在保持输出的同时立即隐藏笔记本中的所有代码。
下次有人说他们只想看结果时,您只需单击一下就可以解决问题。
这些只是我发现最常使用的几个扩展,而你不仅限于五个。如果你愿意,你甚至可以编写自己的扩展,不过相关文档非常稀缺,官方文档上只是介绍了扩展插件的基本结构。
结论
Jupyter Notebook仍然是数据科学工作流程中不可或缺的一部分。如果您打算使用此环境,您可以从扩展工具中获得最大收益。花些时间确定哪些扩展插件对您有用,并提高您的工作效率,这的确是值得的。