Python程序员思科DNA

高效方法 | Jupyter Notebook 比你想象中的还要

2018-12-19  本文已影响557人  天善智能

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。

编译:xiaoyu 数据挖掘工程师,数据爱好者

作者:William Koehrsen

Jupyter Notebook是一个非常赞的可用于教学,探索和编程的环境,但最原始的Jupyter Notebook是缺乏一些强功能的。但幸运的是,有很多方法可以改进这个工具,比如:Jupyter Notebook的扩展

▍快速安装

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

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仍然是数据科学工作流程中不可或缺的一部分。如果你打算使用此环境,你可以从工具中获得最大收益。

- END -

往期精彩:

  • 金州勇士4年3冠的成功秘诀!数据可视化分析告诉你答案

  • 20张图表达程序员的心酸

  • 干货 | 机器学习概念的深度解析(入门必看)

  • 一款非常棒的特征选择工具:feature-selector

  • 公众号后台回复关键词学习

    回复 免费                获取免费课程

    回复 直播                获取系列直播课

    回复 Python           1小时破冰入门Python

    回复 人工智能         从零入门人工智能

    回复 深度学习         手把手教你用Python深度学习

    回复 机器学习         小白学数据挖掘与机器学习

    回复 贝叶斯算法      贝叶斯与新闻分类实战

    回复 数据分析师      数据分析师八大能力培养

    回复 自然语言处理  自然语言处理之AI深度学习

    上一篇下一篇

    猜你喜欢

    热点阅读