jupyter notebook和python有什么区别_Jupyter Notebook 有哪些奇技淫巧?

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。

传送门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时间序列的预处理

目录 一、特征统计量 1.概率分布 2.特征统计量 二、平稳时间序列的定义 严平稳与宽平稳的关系 三、平稳时间序列的统计性 四、平稳性的重大意义 五、平稳性检验 时序图检验 自相关图检验 R绘图 一、特征统计量 平稳性是某些时间序列具有的一种统计特征要描述清楚这个…

Java系统流

每个 Java 程序运行时都带有一个系统流,系统流对应的类为 java.lang.System。Sytem 类封装了 Java 程序运行时的 3 个系统流,分别通过 in、out 和 err 变量来引用。这 3 个系统流如下所示: System.in:标准输入流,默认设…

R中‘ts‘ object must have one or more observations

错误如下: 为什么会出现,如下错误是因为我读取数据是,没有对数据进行分割,而是直接读取,然后使用的 最初读取方式为: 改变后的读取方式: 此时,再调用上面提示错误的那行代码试试&am…

python编码和解码_uu --- 对 uuencode 文件进行编码与解码 — Python 3.7.9 文档

uu --- 对 uuencode 文件进行编码与解码 此模块使用 uuencode 格式来编码和解码文件,以便任意二进制数据可通过仅限 ASCII 码的连接进行传输。 在任何要求文件参数的地方,这些方法都接受文件类对象。 为了保持向下兼容,也接受包含路径名称的字…

Java字符编码介绍

在计算机中,任何的文字都是以指定的编码方式存在的,在 Java 程序的开发中最常见的是 ISO8859-1、GBK/GB2312、Unicode、 UTF 编码。 Java 中常见编码说明如下: ISO8859-1:属于单字节编码,最多只能表示 0~255 的字符范…

灰色预测法 —— python

目录 1.简介 2.算法详解 2.1 生成累加数据 2.2 累加后的数据表达式 2.3 求解2.2的未知参数 3.实例分析 3.1 导入数据 3.2 进行累加数据 3.3 求解系数 3.4 预测数据及对比 完整代码 1.简介 灰色系统理论认为对既含有已知信息又含有未知或非确定信息的系统进行预测&am…

python爬虫怎么爬小说_python爬虫爬取笔趣网小说网站过程图解

首先:文章用到的解析库介绍 BeautifulSoup: Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。 它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代…

Java File类详解

在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成。File 类定义了一些方法来操作文件,如新建、删除、重命名文件和目录等。 File …

时间序列的预处理之纯随机性检验

目录 1.纯随机序列的定义 2.性质 3.纯随机性检验 1.纯随机序列的定义 纯随机序列也称为白噪声序列,满足如下性质:2.性质 纯随机性(无记忆性)方差齐性举例,随机生成1000个白噪声序列 用正态分布序列 rnorm(数量&am…

python logger设置信息取得_shell 脚本中如何获取 python logging 打印的信息?

在 shell 脚本中调用 python 的接口,但是 python API 是通过 python 的 logging 把相关信息打印到屏幕上的,不知道这种情况在 shell 中怎么获取这些 logging 信息,请指教。 代码中是这么写的: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1…

Java字节流的使用

InputStream 是 Java 所有字节输入流类的父类,OutputStream 是 Java 所有字节输出流类的父类,它们都是一个抽象类,因此继承它们的子类要重新定义父类中的抽象方法。 下面首先介绍上述两个父类提供的常用方法,然后介绍如何使用它们…

ARMA模型的性质之方法性工具

目录 一、差分 Xt 二、延迟算子 延迟算子的性质 p阶差分 k步差分 三、线性差分方程 齐次线性差分方程的解 非齐次线性差分方程的解 时序分析与线性差分方程的关系 一、差分 Xt 二、延迟算子 延迟算子类似于一个时间指针,当前序列值乘以一个延迟算子&…

python如何下载库_python中如何下载库

python下载安装库的方法: 1、在线安装 在cmd窗口直接运行:pip install 包名,如 pip install requests 注意:这种方式安装时会自动下载第三方库,安装完成后并不会删除,如需删除请到它的默认下载路径下手动删…

Java字符流的使用

字符输入流 Reader 类是所有字符流输入类的父类,该类定义了许多方法,这些方法对所有子类都是有效的。 Reader 类的常用子类如下。 CharArrayReader 类:将字符数组转换为字符输入流,从中读取字符。StringReader 类:将…

ARMA模型的性质 1

目录 1.wold分解定理(1938) 2.AR模型 2.1定义: AR(p) 有三个限制条件: 中心化 AR(p) 模型 2.2 AR模型的平稳性判别 序列拟合函数 R 举例 1.wold分解定理(1938) 对于任何一个离散平稳序列 {xt} 他都…

python 二维码_Python提取支付宝和微信支付二维码

本文首发于我的个人博客,更多 Python 和 django 开发教程,请访问 追梦人物的博客。支付宝或者微信支付导出的收款二维码,除了二维码部分,还有很大一块背景图案,例如下面就是微信支付的收款二维码:有时候我们…

Java转换流

一般情况下,字节流可以对所有的数据进行操作,但是有些时候在处理一些文本时我们要用到字符流,比如,查看文本的中文时就是需要采用字符流更为方便。所以 Java IO 流中提供了两种用于将字节流转换为字符流的转换流。 InputStreamRe…

ARMA模型的平稳性判别(续)

目录 1.特征根判别法 AR(p)模型对应齐次方程特征根与回归系数多项式根的关系: 2.平稳域判别 (1)AR(1)(一阶)模型平稳域 (2)AR(2)(二阶)模型平稳域 3.举例 4.函数展开成幂级数——麦克劳林级数 小结 1.特征根判…

form表单中根据值判断是否disabled_Java 0基础入门 (Html表单、表单元素)

上一篇:Java 0基础入门 (Html标签的使用)表单在网页中主要负责数据采集功能。一.表单实际应用场景百度搜索5173注册如上两张图,图中的黑色线条是我画上去的,如果按照黑线,在Excle中画出这两张表单,相信大家都可以也不是…

ARMA模型性质之平稳AR模型得统计性质

目录 1.均值 Green函数定义 Green函数递推公式 2.方差 举例: 方法1: 方法2: 3.协方差函数 举例1: 举例2: 4.自相关系数 常用的ARA模型自相关系数递推公式: AR模型自相关系数的性质 举例 5.偏自…