0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Jupyter notebook是一款学习和科研的神奇

nlfO_thejiangme 来源:lq 2019-02-19 09:32 次阅读

Jupyter notebook是一款学习和科研的神奇,相信很多小伙伴已经利用它在学术科研、研究开发的道路上收获了便捷易用、可视直观的优点。但除了可以在浏览器编辑运行代码、一系列畅爽的魔法命令外,jupyter还有众多基于js开发的拓展插件能帮助我们事先更加自如和高效的使用,让我们在科研的道路上如虎添翼、健步如飞。

1. 自动补全

(Hinterland)

在通常情况下jupyter中实现代码补全需要主动按tab键,但有的时候会很期待jupyter可以实现如IDE一般的自动补全显示,是需要输入指令的头部所有符合的指令变换跃然屏幕任君挑选。有了Hinterland之后,你就可以享受与其他流行的IDE(如PyCharm和VCS)一样顺滑的自动代码补全了,便捷高效想到就能补到。

https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/nbextensions/hinterland/README.html

2. 单元格分置

(Split Cells Notebook)

从vim到sublime,各类编辑器都支持多窗口编辑、查看代码。如果notebook可以实现这样的功能就可以在宽屏显示器上自由的施展拳脚了。notebook中split功能为我们贴心地准备了这个功能,只需轻轻一点就可以将原先垂直顺序排列的单元格变成水平排列,更好的查看与分析代码和计算结果。通过该扩展插件可以将Notebook的单元格分开,再将它们相邻放置。

3. 插入常用代码片

(Snippets)

在代码中存在很多可以复用的代码片,比如说每次程序开头都需要import的一大堆包和一些常用的数据操作、绘图指令。为了便捷的复用这些指令,Snippets为我们提供了一键插入代码片段的功能,从此再也不用辛苦的输入那些常用的指令,甚至copy-paste都免了,轻轻一点代码出现!此扩展插件为Notebook工具栏添加了一个下拉菜单,允许将代码片段单元格轻松插入当前Notebook中。

4. 折叠单元格

(Collapsible Headings)

代码写的太长、注释写的太多、整个note太乱了,又长又没有清晰的结构该如何是好呀?Collapsible Headings允许Notebook根据标题来分隔的可折叠部分。如果Notebook中有很多不整洁的代码,我们就可以折叠起来免除了反复滚动的烦恼,同时也为整个notebook带来了整洁的视觉体验。

5.幻灯片放映

(Slideshow)

Notebooks是教学和编写可解释代码的有效工具。无论是给同学讲解代码还是给老板汇报进展,一份动态、顺滑、有代码有图片的报告总会带来很好的效果。 Jupyter Notebooks可轻松转换为幻灯片,将你的工作转换为图文并茂的生动报告,也许我们就不再需要PPT啦~

我们可以通过以下两个方式来实现:

· Jupyter的内置幻灯片

在你的notebook中,可以通过工具栏导航到View → Cell Toolbar → Slideshow。

这时每个单元格顶部都会出现一个浅灰色条,您可以根据不同的五种特性自定义幻灯片,其中幻灯片是主要的呈现形式,还包括可以上下滑动的自幻灯片和浮动的碎片。

在设置完成后转到notebook所在的目录,执行以下代码:

幻灯片将显示在本地8000端口。此外目录中将生成.html文件,您也可以从那里双击访问幻灯片。

· RISE(Reveal.js  plugin)

jupyter的问题在于无法再运行幻灯片的时候运行代码,而RISE提供了边演示便运行的解决方案。RISE是Reveal.js — Jupyter/IPython Slideshow Extension的首字母缩写。 它利用reveal.js来运行幻灯片。这非常有用,因为它能在不必退出幻灯片的情况下运行代码。 使用如下命令进行安装:

在适当的目录安装JS和 CSS:

现在我们就会发现一个新的扩展,上面写着“Enter/Exit RISE Slideshow.”。

边演示便运行真的很爽,是时候向老板展示你真正的实力了。

6.魔法工具包

(Jupyter Widgets)

Widgets是在jupyter里具有代表性的多事件python对象,通常作为滑块、文本框等控件使用。Widgets可用于构建交互式图形用户界面。 通过以下命令来安装它们:

其中包含了一系列优秀的可视化交互控件,从参数调整到文件遍历,从颜色拾取到绘图风格变换,丰富且有用的小工具你一定会喜欢的。

https://github.com/jupyter-widgets/ipywidgets/blob/1223d4128aebe6c8831a034a73d1546a91f5138a/docs/source/examples/Widget%20Basics.ipynb

交互控件

这是IPython中widgets最简单的使用方法。

交互功能(ipywidgets.interact)会自动为代码和数据创建用户界面(UI)控件。在数据探索过程中,通常要一次又一次地重新运行相同的单元,而每次都只会稍微改变下输入参数,这种致操作方式效率十分低下。理想解决方案是使用交互式控件,无需重写或重新运行代码即可更改输入。 使用IPython widgets(ipywidgets),您可以使用一行代码构建交互式控件。该库允许我们将Jupyter Notebooks从静态文档转换为交互式仪表板,非常适合数据的探索和可视化数据。

我们可以使用@interact修饰器快速将任何普通函数转换为交互式控件,例如改变x的取值:

快速循环遍历所有图像,而无需重新运行单元程序。 如果调试卷积神经网络并想要检查网络错分类的图像,这招就很管用。

Widgets在数据探索方面的用途是多种多样的。 还可以用来便捷地分析两列数据间的相关性,对于数据科学家和统计学家十分有用。

播放控件

Play widget能以一定速度按照整数序列来循环播放动画,并可以通过滑块的值来控制播放相关参数。

日期选择器控件

日期选择器控件Date picker可在Chrome和IE Edge中使用,但目前暂时无法在Firefox或Safari中使用,因为它们不支持HTML日期输入字段。

颜色选择控件

Color picker 可以调出调色板,供你选择最中意的颜色:

表格控件

表格控件Tab可以构建类似excel的表格,便于展示和可视化数据:

Widgets for Plots绘图控件

交互式控件对于选择数据绘制特别有用,我们同样可以使用@interact修饰器将数据可视化函数转为控件:

这里,cufflinks+plotly的组合用来实现交互式绘图。如果绘图的更新速度有点慢,我们可以使用@interact_manual,手动点击按钮来进行更新。

Qgrid

Qgrid主要关注DataFrame对象。 它使用SlickGrid在Jupyter notebook中渲染pandas DataFrame。 这使您可以使用直观的滚动、排序和筛选控件来浏览DataFrame,还可以通过双击单元格来编辑DataFrame,可以便捷高效的查看dataframe中的数据:

7.视频/PDF/url插件

使用IPython的显示模块,您可以轻松地将URLs、pdf和视频嵌入到您的Jupyter Notebooks中。

显示pdf,组会讲论文神器呀:

再来个视频佐证自己的观点吧:

8. Jupyter主题

原生的白色主题太扎眼了,好想用暗色系的主题保护眼睛,安心撸代码?就像你用的IDE概要或主题设置? 安装jupyterthemes就可解你的燃眉之急。

Jupyter也有同样的功能,这些主题还可以增强了代码的显示, 可以定制自己喜欢的字体字号和背景颜色。虽然主题数量不多,但用起来相当不错,以后也会越来越多。

写在最后

如果你对这些拓展功能跃跃欲试啦,那就赶快给你的jupyter添加想要的插件吧!插件安装连接请参考:

https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html

还可以发掘源码进行学习,他日写出自己中意的插件:

https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions

jupyterlab插件:

https://jupyterlab.readthedocs.io/en/stable/user/extensions.html

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66820
  • 控件
    +关注

    关注

    0

    文章

    153

    浏览量

    16832
  • 编辑器
    +关注

    关注

    1

    文章

    788

    浏览量

    30239

原文标题:那些让你如虎添翼的Jupyter Notebooks进阶插件神器

文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么Jupyter Notebook会比其他工具更受欢迎?

    “有什么好用的IDE/环境/工具?”是他们提出的最常见的问题之一。这确实也是个不怎么好回答的问题,因为它没有具体选项。IDE、Sublime Text、Atom等编辑器都很优秀,论智的这篇文章,从Jupyter Notebook开始学起。
    的头像 发表于 05-31 09:27 7.3w次阅读

    请帮我推荐一款ARM学习板子

    目前在学习ARM Cortex M0,请技术达人们帮忙推荐一款相关的学习板子。Cortex系列的都可以,最好有很详细的入门材料的。
    发表于 10-16 10:58

    IDE的交互式文档Jupyter Notebook详解

    IDE之Jupyter:交互式文档Jupyter Notebook简介、安装、使用方法详细攻略
    发表于 12-26 10:38

    【PYNQ-Z2试用体验】Jupyter Notebook体验

    图: 图2 jupyter notebook一款开源的交互式的网络应用程序,你可以通过浏览器进行文档的编辑和代码的运行。详细介绍参见官网. 下面通过已有例程,简单介绍下notebook
    发表于 02-17 19:37

    你绝没用过的一款高逼格空间可视化工具

    的文章中也多次使用了该库:不过它的效果相比今天要介绍的一款地理空间可视化库可要逊色不少。这个库就是:kepler.gl,由大名鼎鼎的独角兽公司 Uber 团队开发,现已开源。库直接集成到了 Jupyter
    发表于 07-30 04:00

    如何去学习一款单片机

    接触一款单片机,都会经历熟悉其基本开发,然后将其用于项目中的过程,对于如何学习一款单片机,自己做了如下的总结。大家都知道,51单片机...
    发表于 07-14 06:58

    五大最实用的Jupyter Notebook扩展插件

    Jupyter Notebook是当前一种十分流行的基于网页的开发环境,它灵活、高度可扩展,不仅允许用户创建和共享含有代码的文档,还可以植入公式、可视化图片和描述性的文本等,是大数据分析师最喜欢的利器。
    的头像 发表于 03-20 16:35 11.4w次阅读

    数据科学家们常用的一种工具——Jupyter notebook,纳入天文学研究

    ,它允许用户记录这些对话,建立起与主题、理论,数据和结果之间更强大的联系。当然,Jupyter不是承载对话的唯一平台——它的前身IPython Notebook是一种交互式Python解释器,也可以充当对话平台。
    的头像 发表于 11-05 15:30 3505次阅读

    Jupyter Notebook是TensorFlow文档架构的重要组成部分

    软件文档是一项团队工作,而 Notebook 是一种富有表现力的专注于手把手教程式的格式,它可以让工程师和作者搭建出交互式演示,更直观的了解所学内容。Jupyter Notebook 是 JSON 格式的文件
    的头像 发表于 11-19 09:25 1858次阅读

    以后Jupyter也能做可视化Debug了

    Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Python 项目。然而,因为交互式操作,很少会有开发者想到用 Jupyter 做 Debug
    的头像 发表于 01-06 16:09 2213次阅读

    神器jupyter的优势和使用教程

    Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合
    的头像 发表于 02-05 09:36 7821次阅读
    神器<b class='flag-5'>jupyter</b>的优势和使用教程

    常用的五种Jupyter Notebook扩展插件

    Jupyter Notebook 是一个很棒的教学、探索和编程环境,但其功能不足也是出了名的。幸好,有许多方法可以改进这个不错的工具,如 Jupyter Notebook 扩展工具。
    的头像 发表于 09-26 10:35 2080次阅读

    Jupyter notebook在超算平台上使用的详细教程

    Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。
    的头像 发表于 11-23 15:42 1146次阅读
    <b class='flag-5'>Jupyter</b> <b class='flag-5'>notebook</b>在超算平台上使用的详细教程

    Jupyter Notebook 7重磅发布,新增多个特性!

    Jupyter Notebook 7新增了来自JupyterLab的交互式调试器 (interactive debugger),它使您能够逐个代码单元格地执行代码,也可以设置断点并检查变量。
    的头像 发表于 08-01 15:01 839次阅读
    <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b> 7重磅发布,新增多个特性!

    什么是 Jupyter Notebook

    Jupyter Notebook 是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化和 Markdown,其用途包括数据清理和转换、数值模拟、统计建模、机器学习
    的头像 发表于 10-16 11:15 1911次阅读
    什么是 <b class='flag-5'>Jupyter</b> <b class='flag-5'>Notebook</b>