Jupyter Notebook 有哪些奇技淫巧?

Jupyter Notebook 有哪些奇技淫巧?

Towards Data Science专栏的作者Parul Pandey总结了七大Jupyter的进阶用法:

Shell是一种与计算机进行文本交互的方式。

一般来讲,当你正在使用Python编译器,需要用到命令行工具的时候,要在shell和IDLE之间进行切换。

但是,如果你用的是Jupyter,就完全不用这么麻烦了,你可以直接在命令之前放一个“!”,就能执行shell命令,完全不用切换来切换去,就能在IPython里执行任何命令行。

我们甚至可以将值传递给shell,像下面这样:

注意,返回结果的数据类型不是列表。

使用Jupyter主题,不仅能让你的Jupyter界面更好看、更舒服,还能让屏幕上的代码看起来更显眼。

比如Chesterish主题:

solarizedl主题:

来看一下具体的操作方法:

第一步,安装:

第二步,加载可用主题列表:

第三步,选择你想要的主题:

现在可用的主题有:

把名字填进去就好啦。

不过,每次换主题的时候都要重新加载Jupyter,才能看到主题变化。

另外我们上面讲的在命令之前加“!”也一样可用。

笔记本扩展(nbextensions)是一种JavaScript模块,可以加载到笔记本前端页面上,可以大大提升用户体验。

比如下面这些扩展工具,简直能让效率提升10000倍。

Hinterland功能可以让你每敲完一个键,就出现下拉菜单,可以直接选中你需要的词汇。

Snippets在工具栏里加了一个下拉菜单,可以非常方便的直接插入代码段,完全不用手动敲。

拆分笔记本中的单元格,改成相邻的模式,看起来就像分了两栏。

这个功能可以自动找到所有的标题,生成目录。

并且这个目录还是移动的呦,你可以放在侧边栏,也可以拖动到任何你喜欢的地方悬浮起来。

如果你的代码太长,觉得滚动过去太麻烦,可以直接折叠掉。

一键美化代码,强迫症的福音。

最后看一下怎么装,需要用到conda:

或者用pip:

然后把Jupyter打开,你就可以看到NBextensions这个选项卡了。

找不到的话就去菜单的Edit里面找。

搞定。

还有一些Jupyter小工具,比如滑块、文本框之类的部分,可以做一些方便的交互。

不过这个部件只能咋Chrome和Edge里用,Firefox和Safari不支持。

其他的小部件,可以在文末的传送门跳转到GitHub寻找。

使用“interact”功能自动创建UI控件,这是使用IPython最方便的方法。

Qgrid也是一个Jupyter的小部件,不过它主要用于数据帧,装上之后,就可以像操作Excel里的筛选功能一样,方便的处理数据。

用pip安装:

用conda安装:

人在江湖飘,难免遇到要做PPT的时候。

但是,如果你的内容都已经放在Jupyter里了,再重新导入PPT,太麻烦了,我们自动转换吧。

一种方法是用Jupyter内置的PPT选项,依次点击菜单栏里的View → Cell Toolbar → Slideshow,之后每个单元格上面都会有一个灰色的横条,选Sub-Slide。

然后输入以下代码:

好了,现在就变成PPT样式的了,显示在端口8000,你也可以查看源代码找到PPT文件。

你也可以提前换好主题,比如onedork主题,然后再转换成PPT的的时候就是同一个主题风格的PPT了。

不过,用PyTorch默认方法生成的PPT代码不能编辑,这个时候就要用到RISE插件了。

RISE用到reveal.js来运行PPT,可以不退出PPT,直接运行代码。

先来安装RISE,推荐用conda:

其实不太推荐pip:

然后调用JS和CSS:

安装好啦,现在重新打开你的Jupyter Notebook,发现一个新的扩展,名叫“Enter/Exit RISE Slideshow”。

戳一下,一个可以边演示边改的PPT就好了。

扔链接再跳转实在是太麻烦了,不如直接把素材放进Jupyter里面。

操作方式如下,当然你需要把链接换成你要放的链接:

同样,把pdf链接换成你需要用的pdf。

原文:Bringing the best out of Jupyter Notebooks for Data ScienceParul Pandey, Towards Data Sciencehttps://towardsdatascience.com/bringing-the-best-out-of-jupyter-notebooks-for-data-science-f0871519ca29

Jupyter主题https://github.com/dunovank/jupyter-themes

IPython小部件https://github.com/jupyter-widgets/ipywidgets