Towards Data Science专栏的作者Parul Pandey总结了七大Jupyter的进阶用法: Shell是一种与计算机进行文本交互的方式。 一般来讲,当你正在使用Python编译器,需要用到命令行工具的时候,要在shell和IDLE之间进行切换。 但是,如果你用的是Jupyter,就完全不用这么麻烦了,你可以直接在命令之前放一个!,就能执行shell命令,完全不用切换来切换去,就能在IPython里执行任何命令行。 我们甚至可以将值传递给shell,像下面这样: 注意,返回结果的数据类型不是列表。 使用Jupyter主题,不仅能让你的Jupyter界面更好看、更舒服,还能让屏幕上的代码看起来更显眼。 比如Chesterish主题: solarizedl主题:一、执行shell命令
1In[1]:!ls2example.jpeglisttmp3In[2]:!pwd4/home/Parul/Desktop/HelloWorldFolder5In[3]:!echo"Hello World"6HelloWorld7
1In[4]:files=!ls2In[5]:print(files)3[example.jpeg,list,tmp]4In[6]:directory=!pwd5In[7]:print(directory)6[/Users/Parul/Desktop/Hello World Folder]7In[8]:type(directory)8IPython.utils.text.SList
二、给Jupyter换主题
第一步,安装:
1pipinstalljupyterthemes
第二步,加载可用主题列表:
1jt-l
第三步,选择你想要的主题:
1selecting a particular theme2jt-t<nameofthetheme>3reverting to original Theme4jt-r
现在可用的主题有:
chesterishgrade3gruvboxdgruvboxl monokaioceans16onedorksolarizeddsolarizedl
把名字填进去就好啦。
不过,每次换主题的时候都要重新加载Jupyter,才能看到主题变化。
另外我们上面讲的在命令之前加!也一样可用。
三、笔记本扩展
笔记本扩展(nbextensions)是一种JavaScript模块,可以加载到笔记本前端页面上,可以大大提升用户体验。
比如下面这些扩展工具,简直能让效率提升10000倍。
Hinterland
Hinterland功能可以让你每敲完一个键,就出现下拉菜单,可以直接选中你需要的词汇。
Snippets
Snippets在工具栏里加了一个下拉菜单,可以非常方便的直接插入代码段,完全不用手动敲。
拆分单元格
拆分笔记本中的单元格,改成相邻的模式,看起来就像分了两栏。
目录
这个功能可以自动找到所有的标题,生成目录。
并且这个目录还是移动的呦,你可以放在侧边栏,也可以拖动到任何你喜欢的地方悬浮起来。
折叠一个标题下的全部内容
如果你的代码太长,觉得滚动过去太麻烦,可以直接折叠掉。
Autopep8
一键美化代码,强迫症的福音。
安装方法
最后看一下怎么装,需要用到conda:
1condainstall-cconda-forgejupyter_nbextensions_configurator
或者用pip:
1pipinstalljupyter_contrib_nbextensions&&jupytercontribnbextensioninstall2incase you get permission errors on MacOS,3pipinstalljupyter_contrib_nbextensions&&jupytercontribnbextensioninstall--user
然后把Jupyter打开,你就可以看到NBextensions这个选项卡了。
找不到的话就去菜单的Edit里面找。
搞定。
四、Jupyter小工具
还有一些Jupyter小工具,比如滑块、文本框之类的部分,可以做一些方便的交互。
滑块
1deff(x):2returnx3Generate a slider4interact(f,x=10,);
布尔值生成复选框
1Booleans generate check-boxes2interact(f,x=True);
字符串生成文本区域
1Strings generate text areas2interact(f,x=Hi there!);
播放器
1play=widgets.Play(2interval=10,3value=50,4min=0,5max=100,6step=1,7description="Press play",8disabled=False9)10slider=widgets.IntSlider()11widgets.jslink((play,value),(slider,value))12widgets.HBox([play,slider])
日历
1widgets.DatePicker(2description=Pick a Date,3disabled=False4)
不过这个部件只能咋Chrome和Edge里用,Firefox和Safari不支持。
调色盘
1widgets.ColorPicker(2concise=False,3description=Pick a color,4value=blue,5disabled=False6)
标签
1tab_contents=[P0,P1,P2,P3,P4]2children=[widgets.Text(description=name)fornameintab_contents]3tab=widgets.Tab()4tab.children=children5foriinrange(len(children)):6tab.set_title(i,str(i))7tab
其他的小部件,可以在文末的传送门跳转到GitHub寻找。
安装方法
1pip2pipinstallipywidgets3jupyternbextensionenable--pywidgetsnbextension4Conda5condainstall-cconda-forgeipywidgets6Installing ipywidgets with conda automatically enables the extension
使用interact功能自动创建UI控件,这是使用IPython最方便的方法。
1Start with some imports!2fromipywidgetsimportinteract3importipywidgetsaswidgets
五、Qgrid
Qgrid也是一个Jupyter的小部件,不过它主要用于数据帧,装上之后,就可以像操作Excel里的筛选功能一样,方便的处理数据。
安装方法
用pip安装:
1pipinstallqgrid2jupyternbextensionenable--py--sys-prefixqgrid3only required if you have not enabled the ipywidgets nbextension yet4jupyternbextensionenable--py--sys-prefixwidgetsnbextension
用conda安装:
1only required if you have not added conda-forge to your channels yet2condaconfig--addchannelsconda-forge3condainstallqgrid
六、放PPT
人在江湖飘,难免遇到要做PPT的时候。
但是,如果你的内容都已经放在Jupyter里了,再重新导入PPT,太麻烦了,我们自动转换吧。
一种方法是用Jupyter内置的PPT选项,依次点击菜单栏里的View → Cell Toolbar → Slideshow,之后每个单元格上面都会有一个灰色的横条,选Sub-Slide。
然后输入以下代码:
1jupyternbconvert*.ipynb--toslides--postserve2insert your notebook name instead of *.ipynb
好了,现在就变成PPT样式的了,显示在端口8000,你也可以查看源代码找到PPT文件。
你也可以提前换好主题,比如onedork主题,然后再转换成PPT的的时候就是同一个主题风格的PPT了。
不过,用PyTorch默认方法生成的PPT代码不能编辑,这个时候就要用到RISE插件了。
RISE用到reveal.js来运行PPT,可以不退出PPT,直接运行代码。
先来安装RISE,推荐用conda:
1condainstall-cdamianavila82rise
其实不太推荐pip:
1pipinstallRISE
然后调用JS和CSS:
1jupyter-nbextensioninstallrise--py--sys-prefix2enable the nbextension:3jupyter-nbextensionenablerise--py--sys-prefix
安装好啦,现在重新打开你的Jupyter Notebook,发现一个新的扩展,名叫Enter/Exit RISE Slideshow。
戳一下,一个可以边演示边改的PPT就好了。
七、嵌入链接和pdf
扔链接再跳转实在是太麻烦了,不如直接把素材放进Jupyter里面。
嵌入链接
1Note that http urls will not be displayed. Only https are allowed inside the Iframe2fromIPython.displayimportIFrame3IFrame(https://en.wikipedia.org/wiki/HTTPS,width=800,height=450)
操作方式如下,当然你需要把链接换成你要放的链接:
嵌入pdf
1fromIPython.displayimportIFrame2IFrame(https://arxiv.org/pdf/1406.2661.pdf,width=800,height=450)
同样,把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
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容