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

执行shell命令

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

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

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

1 In [1]: !ls

2 example.jpeg list tmp

3 In [2]: !pwd

4 /home/Parul/Desktop/Hello World Folder'

5 In [3]: !echo "Hello World"

6 Hello World

7

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

1 In [4]: files= !ls

2 In [5]: print(files)

3 ['example.jpeg', 'list', 'tmp']

4 In [6]: directory = !pwd

5 In [7]: print(directory)

6 ['/Users/Parul/Desktop/Hello World Folder']

7 In [8]: type(directory)

8 IPython.utils.text.SList

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

给Jupyter换主题

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

比如Chesterish主题:

solarizedl主题:

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

第一步,安装:

1 pip install jupyterthemes

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

1 jt -l

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

1 # selecting a particular theme

2 jt -t

3 # reverting to original Theme

4 jt -r

现在可用的主题有:chesterish

grade3

gruvboxd

gruvboxl monokai

oceans16

onedork

solarizedd

solarizedl

把名字填进去就好啦。

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

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

笔记本扩展

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

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

Hinterland

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

Snippets

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

拆分单元格

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

目录

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

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

折叠一个标题下的全部内容

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

Autopep8

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

安装方法

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

1 conda install -c conda-forge jupyter_nbextensions_configurator

或者用pip:

1 pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

2 #incase you get permission errors on MacOS,

3 pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user

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

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

搞定。

Jupyter小工具

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

滑块

1 def f(x):

2 return x

3 # Generate a slider

4 interact(f, x=10,);

布尔值生成复选框

1 # Booleans generate check-boxes

2 interact(f, x=True);

字符串生成文本区域

1 # Strings generate text areas

2 interact(f, x='Hi there!');

播放器

1 play = widgets.Play(

2 # interval=10,

3 value=50,

4 min=0,

5 max=100,

6 step=1,

7 description="Press play",

8 disabled=False

9 )

10 slider = widgets.IntSlider()

11 widgets.jslink((play, 'value'), (slider, 'value'))

12 widgets.HBox([play, slider])

日历

1 widgets.DatePicker(

2 description='Pick a Date',

3 disabled=False

4 )

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

调色盘

1 widgets.ColorPicker(

2 concise=False,

3 description='Pick a color',

4 value='blue',

5 disabled=False

6 )

标签

1 tab_contents = ['P0', 'P1', 'P2', 'P3', 'P4']

2 children = [widgets.Text(description=name) for name in tab_contents]

3 tab = widgets.Tab()

4 tab.children = children

5 for i in range(len(children)):

6 tab.set_title(i, str(i))

7 tab

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

安装方法

1 # pip

2 pip install ipywidgets

3 jupyter nbextension enable --py widgetsnbextension

4 # Conda

5 conda install -c conda-forge ipywidgets

6 #Installing ipywidgets with conda automatically enables the extension

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

1 # Start with some imports!

2 from ipywidgets import interact

3 import ipywidgets as widgets

Qgrid

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

安装方法

用pip安装:

1 pip install qgrid

2 jupyter nbextension enable --py --sys-prefix qgrid

3 # only required if you have not enabled the ipywidgets nbextension yet

4 jupyter nbextension enable --py --sys-prefix widgetsnbextension

用conda安装:

1 # only required if you have not added conda-forge to your channels yet

2 conda config --add channels conda-forge

3 conda install qgrid

放PPT

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

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

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

然后输入以下代码:

1 jupyter nbconvert *.ipynb --to slides --post serve

2 # insert your notebook name instead of *.ipynb

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

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

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

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

先来安装RISE,推荐用conda:

1 conda install -c damianavila82 rise

其实不太推荐pip:

1 pip install RISE

然后调用JS和CSS:

1 jupyter-nbextension install rise --py --sys-prefix

2 #enable the nbextension:

3 jupyter-nbextension enable rise --py --sys-prefix

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

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

嵌入链接和pdf

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

嵌入链接

1 #Note that http urls will not be displayed. Only https are allowed inside the Iframe

2 from IPython.display import IFrame

3 IFrame('https://en.wikipedia.org/wiki/HTTPS', width=800, height=450)

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

嵌入pdf

1 from IPython.display import IFrame

2 IFrame('https://arxiv.org/pdf/1406.2661.pdf', width=800, height=450)

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

传送门

— 完 —

量子位 · QbitAI

վ'ᴗ' ի 追踪AI技术和产品新动态量子位​www.zhihu.comv2-ca6e7ffc10a0d10edbae635cee82d007_ipico.jpg

欢迎大家关注我们,以及订阅我们的知乎专栏

python jupyter notebook_jupyter notebook 可以做哪些事情?相关推荐

  1. jupyter notebook python环境_jupyter Notebook环境搭建

    1.什么是jupyter notebook jupyter notebook是一种 Web 应用,能让用户将说明文本.数学方程.代码和可视化内容全部组合到一个易于共享的文档中.它可以直接在代码旁写出叙 ...

  2. Python·Jupyter Notebook各种使用方法

    PythonJupyter Notebook各种使用方法记录持续更新 一 Jupyter NoteBook的安装 1 新版本Anaconda自带Jupyter 2 老版本Anacodna需自己安装Ju ...

  3. python教程jupyternotebook_搭建Python Jupyter Notebook教程

    Jupyter原来叫做IPython,后来改名为Jupyter,意思是Julia+Python+R,囊括了三大数据科学语言.Jupyter编程环境具有以下两个特点: 中心化工作环境:Jupyter支持 ...

  4. python可以干嘛用-Python可以被用来做哪些神奇好玩的事情

    原标题:Python可以被用来做哪些神奇好玩的事情 如果你在周末.有WIFI的房间里不知道做什么,不如学下Python吧.有了它,你可以什么都不需要! 基础需求篇:温饱与空虚 躺着赚钱 一位匿名知乎网 ...

  5. python爬虫能干什么-爬虫可以做的事情非常多,Python的爬虫你又了解多少?

    原标题:爬虫可以做的事情非常多,Python的爬虫你又了解多少? 现在爬虫可以做的事情非常多,数据.信息.电影.资料等,你技术过关了,爱咋爬咋爬,仔细观察,加上你如果认真观察,就会发现学习爬虫的人越来 ...

  6. jupyter notebook python插件_Jupyter notebook一款非常好用的python IDE

    Jupyter是什么 随着人工智能的兴起,python已经逐渐成为一种主流的程序语言.安装了python之后,有许多的IDE可供选择,我之前使用过spyder,pycharm,sublime,等等,感 ...

  7. 数据挖掘基础学习一:VMware虚拟机Ubuntu上安装Python和IPython Notebook(Jupyter Notebook)完整步骤及需要注意的问题(以ubuntu-18.04.3为例)

    数据挖掘基础学习一:VMware虚拟机Ubuntu上安装Python和IPython Notebook(Jupyter Notebook)完整步骤及需要注意的问题 (以ubuntu-18.04.3-d ...

  8. Python能做的事情很多别的编程语言也能做,python将会是昙花一现吗?看看这位程序员怎么说~

    python已经火了几十年了.它是一个1989年诞生的语言,很可能比你都老. 现在的火爆,其实是因为它本身的能力一直在 脚本与科学计算,这两种领域.虽然它本身在Web开发这个实际上应用最多的领域也有不 ...

  9. python人工智能能干啥_人工智能首选什么语言 Python能做哪些事情

    人工智能首选什么语言?Python能做哪些事情?近几年以来,Python开发工程师一直是市场的人才稀缺.Python语言简单易学,就业前景广这么多标签集中在门行业上自然也引起了年轻人的注意.现在学习P ...

最新文章

  1. 减少Building 'Xxx' Gradle project info等待时间
  2. 微信链接里的图像如何得到更清晰
  3. 搜索推荐炼丹笔记:酒店搜索位置偏差的边际重要性
  4. VS2010+WinXP+MFC程序 无法定位程序输入点于动态链接库
  5. 【Not all parameters were used in the SQL statement】
  6. 计算机二级web题目(8.3)--简单应用题2
  7. 查看oracle的块大小,查看操作系统块大小
  8. C#仿QQ皮肤-常用用户控件EnterFrom1和窗体EntryForm的实现
  9. sip中的100trying到底有啥用
  10. mysql+查看connection_如何查看MySQL connection id连接id
  11. linux系统能装什么显卡,Linux系统下安装显卡驱动
  12. 第一次使用SSE指令集
  13. 正则划分省市区(直辖市和附详细地址包括市,区)
  14. Chrome 插件篇-Unsplash插件:浏览器背景桌面设置,漂亮的背景桌面插件,时时更新
  15. win10电脑禁用开机自启动软件
  16. 系统测试分析系统测试设计
  17. MySQL基础语法大全(尚硅谷)
  18. fixed trait
  19. win7怎么升级win10?
  20. 外点罚函数法的MATLAB实现,一、非线性规划问题的几种求解方法1罚函数法(外点法).ppt...

热门文章

  1. 中国科学院 导师推荐 计算机,中国科学院计算机与控制学院硕士生导师:李保滨副教授...
  2. NIT-OJ-1411-恶魔杀怪-解题报告
  3. Opera目录和文件详解(转自亡灵法师)
  4. 梦工厂服务器维护,QQ炫舞9月13日0点梦工厂维护内容介绍
  5. c语言编译舞动的红旗,C语言程序设计 飘动的红旗
  6. 牙齿冷光美白是长期的吗?
  7. python中设置代理的方法
  8. 如何利用开发者账号重签ipa文件,并部署到IOS设备做测试
  9. 用贝叶斯优化做巧克力曲奇,谷歌这项研究登上了NeurIPS
  10. html点击按钮清空元素,jQuery怎么删除元素节点