▍快速安装
在命令提示符中运行以下命令:
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install
启动Jupyter Notebook并导航到新的Nbextensions选项卡:
如果没有看到tab选项卡,请打开notebook,然后单击edit> nbextensions配置
可用的扩展选项可以在notebook中的工具栏中看到:
▍该使用哪些扩展功能?
上面只是一个简单的安装介绍,下面是有关Jupyter notebook扩展的一些细节。本篇个人常常使用的前5个扩展,以帮助你入门。
什么是Jupyter Notebook扩展?
Jupyter Notebook扩展是简单的附加组件,可扩展notebook环境的基本功能。用JavaScript编写,它们可以执行自动编码代码或在单元格完成时发送浏览器通知等操作。扩展目前仅适用于Jupyter Notebook(不是Jupyter Lab)。
为何使用这些扩展?Jupyter Notebook是教学,学习,原型设计,探索和尝试新方法(甚至是Netflix生产)的绝佳工具。然而,vanilla notebooks的功能有限,这些功能可能会让人感到沮丧。虽然Jupyter Notebook扩展并没有完全解决问题,但它们确实增加了一些好处,使工作更加方便。
以下是我经常使用的5个Jupyter Notebook扩展:
1.目录:更简单地导航
一旦你开始在一个Jupyter Notebook中获得几十个单元格,就很难跟踪它们。目录通过添加可以位于页面上任何位置的链接TOC来解决该问题:
你还可以使用扩展程序在notebook顶部添加链接的目录。这甚至还可以显示选择了哪个单元格以及哪个单元格正在运行。
2. Autopep8:只需单击一下即可获得整洁的代码
我们都应该编写符合pep8标准的代码,但有时你会陷入分析中,并且很难坚持最佳的实践。这个扩展允许你只需点击木槌并自动格式化你的凌乱代码。
与最好的附加组件一样,只需单击一下即可完成一项耗时且繁琐的任务,使你能够专注于思考问题。
3.变量检查器:跟踪你的工作区
变量检查器显示你在notebook中创建的所有变量的名称,以及它们的类型,大小,维度和值。
对于从RStudio迁移的数据科学家来说,或者如果您不想继续打印df.shape或者无法调用x的类型,此工具非常有用。
4. ExecuteTime:显示单元格运行的时间和长度
我经常发现自己试图弄清楚一个细胞运行了多长时间,或者我上次运行已经开放数天的笔记本电脑。 ExecuteTime通过显示单元格何时完成以及花费多长时间来处理这两者。
其实有更好的计时方法,例如%% timeit cell magic。但这种方法可以很容易实现并覆盖notebook中的所有单元格。
5.隐藏代码输入:隐藏工作显示结果
虽然我们中的一些人喜欢看到分析中的复杂代码过程,但有些人只是喜欢看到结果。隐藏输入所有扩展名可以允许你在保持输出的同时立即隐藏notebook中的所有代码。
下次有人说他们只想看结果时,您只需单击一下就可以解决(虽然你应该总是检查代码)。
这些只是我发现自己最常使用的扩展,而你不仅限于五个。通过安装扩展并打开notebook来查看整个列表。如果你愿意,你甚至可以编写自己的扩展。参考文档如下:
https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/internals.html
▍结论
安装Jupyter Notebook扩展,花些时间确定哪些对你有用,并提高您的工作效率。虽然这些都没有改变生活,但它们都增加了足够的好处,值得累积,可以累积节省宝贵的开发时间。
虽然如果你正在编写生产代码,你可能想花些时间学习IDE,但Jupyter Notebook仍然是数据科学工作流程中不可或缺的一部分。如果你打算使用此环境,你可以从工具中获得最大收益。