在webbrowser控件上显示的url或要打开的html文件使用什么方法?_用Jupyter Notebooks隐藏优势打开新世界大门...

通过Jupyter Notebooks.Notebooks能够充分利用协作的,可扩展,可伸缩和可再生的数据科学。

fb6dbe6cf221a2b26482ef8c8c29f419.png

对于我们大多数人来说,Jupyter笔记本是处理快速原型设计和探索性分析的实际平台。然而,Jupyter笔记本的用处远不止如此.Jupyter有许多隐藏的功能没有得到充分的开发。让我们试着探索一下Jupyter Notebooks的潜在特性,从而利用这些特性提高工作效率。

a5c922186e2cbb885e7bf0bb06e868f9.png

目录

1.执行Shell命令

2. Jupyter主题

3.笔记本扩展插件

4. Jupyter小部件

5. Qgrid

6.幻灯片

7.嵌入URL,PDF和Youtube视频

a5c922186e2cbb885e7bf0bb06e868f9.png

1.执行Shell命令

笔记本是一个新的shell

Shell是一种与计算机进行文本交互的方法。在Unix shell中,Bash(Bourne Again SHell)最受大家欢迎。

巴什是大多数现代发行的Unix的系统以及大多数为的Windows提供类Unix的系统工具的工具包中的默认外壳。

现在,当我们使用任何的Python解释器时,我们需要定期在壳和IDLE之间切换,以便在我们需要时能够使用命令行工具。

然而,Jupyter Notebook通过添加一个额外的命令,使我们能够轻松地从笔记本中执行shell命令!在执行命令之前,只要通过在命令行前面加上字符,命令行上工作的任何命令都可以在IPython中使用。

在[1]中:!ls

example.jpeg list tmp

在[2]中:!pwd

/ home / Parul /桌面/ Hello World Folder'

在[3]中:!echo“Hello World”

你好,世界

我们甚至可以通过以下方式在外壳中进行值的来回传递:

在[4]中:files =!ls

在[5]中:打印(文件)

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

在[6]中:directory =!pwd

在[7]中:print(目录)

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

在[8]中:类型(目录)

IPython.utils.text.SList

在[8]中:类型(目录)

IPython.utils.text.SList

注意,返回的数据类型不是成列的。

a5c922186e2cbb885e7bf0bb06e868f9.png

2. Jupyter主题

将Jupyter笔记本主题化

如果你感觉Jupyter Notebooks的白色背景很无趣,那么主题就很适合你。主题还能增强代码的表示。

安装:

pip安装jupyterthemes

可用主题列表:

jt -l

目前,可用的主题有chesterish,grade3,gruvboxd,gruvboxl monokai,oceans16,onedork,solarizedd,solarizedl。

#选择特定主题

jt -t

#恢复原始主题

jt -r

·每次改变主题时,你必须重启Jupyter笔记本才能看到效果。

·同样的命令也可以在Jupyter笔记本中通过在命令之前加上“!”来执行。

2649350730dfcf5a6dd0fdcc63933820.png
495593510b4e0f80fcc844271234fde9.png
a5c922186e2cbb885e7bf0bb06e868f9.png

3.笔记本扩展插件

扩展可能性

笔记本扩展插件能让你摆脱使用Jupyter Notebook的一般方式。笔记本扩展插件(或nbextensions)是JavaScript模块,你可以在Notebook的前端中加载大多数视图。这些扩展插件改变了用户体验和接口。

安装

通过畅达安装

conda install -c conda-forge

jupyter_nbextensions_configurator

或通过PIP安装

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

#incase你在MacOS上得到权限错误,

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install -user

现在启动一个Jupyter Notebook,你应该可以看到一个带有许多选项的NBextensions Tab。点击你想要的NBextensions Tab,你将见证奇迹的发生。

a5d368c92cc7f22b7e031cb7f6055a98.png

为了防止你找不到选项卡,从下图中你可以看到另一个nbextension位于菜单编辑下。

8064e5b53f0d0a6d06da36ca6c55b708.png

接下来我们一起讨论一些实用的扩展插件。

1.腹地

Hinterland为代码单元中的每个按键启用代码自动完成菜单,而不是仅使用选项卡调用它。这使得Jupyter Notebook拥有与其他流行的IDE(如PyCharm)一样的自动完成功能。

58644754376e6b2a6da82283d1dc2ba1.png

2.片段

此扩展插件为笔记本电脑工具栏添加了一个下拉菜单,允许将代码片段单元格轻松插入当前笔记本中。

dc2f69ef13381367a118ac19391a7e02.png

3.拆分单元格笔记本

此扩展插件将笔记本的单元格分开,再将它们相邻放置。

07199af524632c41dc435a1f4f4358da.png

4.目录

此扩展插件可以收集所有正在运行的标题,并将其显示在浮动窗口中,作为侧边栏或导航菜单。此扩展插件可拖动,可调整大小,可折叠,可停靠。

045493441e6ab2f66e041ab82a0c26db.png

5.可折叠标题

可折叠标题允许笔记本具有由标题分隔的可折叠部分。如果笔记本中有很多不干净的代码,你可以简单地将其折叠,以避免反复滚动这些代码。

04376d6029e0a7b97e84035ef5bc5430.png

6. Autopep8

Autopep8使用户仅通过单击即可重新格式化/美化代码单元格的内容。如果你厌倦了通过反复按空格键来格式化代码,那么autopep8就是你的救星。

82fcbfacdeef27e22912ddcf1cab1867.png
a5c922186e2cbb885e7bf0bb06e868f9.png

4. Jupyter小部件

使笔记本交互

小部件(Widgets )指在浏览器中具有代表性的多变的python对象,通常作为滑块,文本框等控件。小部件可用于为笔记本构建交互式GUI。

安装

#pp

点击安装ipywidgets

jupyter nbextension enable --py widgetsnbextension

#Conda

conda install -c conda-forge ipywidgets

#Inrtalling with conda的ipywidgets会自动启用扩展

下面我们将介绍一些小部件。你可以访问它们的Github的存储库了解详情。

交互

交互功能(ipywidgets.interact)自动创建用户界面(UI)控件,用于交互式地探索代码和数据。这是开始使用IPython的小部件的最简单方法。

#从一些进口开始!

从ipywidgets导入interactimport ipywidgets作为小部件

1.基础小部件

def f(x):

返回x

#生成滑块

相互作用(f,x = 10,);

#布尔值生成复选框

互动(f,x = True);

#字符串生成文本区域

互动(f,x ='你好!');

2.高级小部件

下面列出了一些有用的高级小部件:

·播放小部件(Play Widget )

播放小部件可用于通过以特定速度迭代整数序列来执行动画。下面滑块的值链接到播放器。

play = widgets.Play(

#间隔= 10,

值= 50,

分= 0,

最大= 100,

步骤= 1,

description =“按戏剧”,

禁用=假

)

slider = widgets.IntSlider()

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

widgets.HBox([play,slider])

·日期选择控件

日期选择控件可在Chrome和IE Edge中使用,但目前无法在Firefox或Safari中使用,因为后者不支持HTML日期输入栏。

widgets.DatePicker(

description ='选择日期',

禁用=假

)

8bd5812f30fd63ddcff7d23a7428f9be.png

·颜色选择控件

widgets.ColorPicker(

简洁=假

description ='选择颜色',

值=“蓝色”,

禁用=假

)

0d147f975e18451388df970a762f69e0.png

·标签页部件

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

children = [tab_contents中名称的[widgets.Text(description = name)]

tab = widgets.Tab()

tab.children =孩子们

我在范围内(len(儿童)):

tab.set_title(i,str(i))

标签

c222100ed6dd39618d80cc7328362f4f.png
a5c922186e2cbb885e7bf0bb06e868f9.png

5. Qgrid

使数据帧直观

Qgrid也是一个Jupyter Notebook小部件,但主要用于数据帧.Qgrid通过使用SlickGrid 在Jupyter Notebook中呈现pandas数据帧。这使你能够使用直观的滚动,排序和筛选控件来探索数据帧,你也可以通过双击单元格来编辑数据帧。

安装

通过PIP安装

pip install qgrid

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

#仅在尚未启用ipywidgets nbextension时才需要

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

通过Conda安装

#仅在尚未向您的频道添加conda-forge时才需要

conda config --add channels conda-forge

conda安装qgrid

32c83bd2f8183f1121fbc604ffa18e53.png
a5c922186e2cbb885e7bf0bb06e868f9.png

6.幻灯片

交互式代码是最好的

笔记本是教学和编写可解释代码的有效工具。然而,当我们想要呈现我们的作品时,我们要么展示整个笔记本(包括所有代码),要么利用简报辅助展示。这种情况再也不会发生了。现在Jupyter Notebook可以轻松转换为幻灯片,我们可以随手选择要显示的内容以及要隐藏在Notebook中的内容。

有两种可以将笔记本电脑转换成幻灯片的方法:

1. Jupyter笔记本内置的幻灯片选项

打开一个新的笔记本,依次点击视图→单元工具栏→幻灯片放映,你可以在每个单元格顶部的浅灰色处自定义幻灯片。

2452d3207e0320e367ad653e6ce2c151.png

现在转到笔记本电脑所在的目录并输入以下代码:

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

#插入笔记本名称而不是* .ipynb

幻灯片在端口8000显示。此外,目录中将生成html的文件,你也可以从此文件中访问幻灯片。

5220015172a00255fd07837ce75dee72.png

应用主题背景的幻灯片看起来会更加优美。让我们将主题'onedork'应用到笔记本中,并将其转换为幻灯片。

66d3ee3102c9e72d13941eaa578b9f72.png

这些幻灯片有一个缺点,即你可以看到代码,但不能编辑它.RISE插件能解决这个问题。

2.使用RISE插件

RISE是Reveal.js - Jupyter / IPython Slideshow Extension的缩写。它利用reveal.js 来运行幻灯片。这非常实用,因为它还能够在不必退出幻灯片的情况下运行代码。

安装

1 - 使用Conda安装(推荐)

conda install -c damianavila82上升

2 - 使用PIP安装(不推荐)

pip安装RISE

在适当的位置安装JS和CSS的另外两个步骤:

jupyter-nbextension安装上升--py --sys-prefix

#enable nbextension:jupyter-nbextension enable rise --py --sys-prefix

现在让我们使用RISE进行交互式幻灯片放映。我们将重新打开之前创建的Jupyter notebook。现在我们注意到一个新的扩展插件,上面写着“输入/退出RISE幻灯片放映”。

082d6b35f7219ecea151474e1a7d6756.png
a5c922186e2cbb885e7bf0bb06e868f9.png

7.嵌入URL,PDF和Youtube视频

在此将其放映

如果可以使用IPython的显示模块将URL,pdf和视频轻松地嵌入Jupyter notebook中,那么为什么只使用链接呢?

网址

#注意不会显示http网址。Iframe中只允许使用https

来自IPython.display导入IFrameIFrame('https://en.wikipedia.org/wiki/HTTPS',width = 800,height = 450)

2b8e1d28fbf62846e99c923b5958e4cc.png

PDF文件

来自IPython.display导入IFrameIFrame('https://arxiv.org/pdf/1406.2661.pdf',width = 800,height = 450)

0e7897f43c11b43851d1fdea3f2d97cd.png

Youtube视频

来自IPython.display导入YouTubeVideo

YouTubeVideo('mJeNghZXtMo',宽度= 800,身高= 300)

050356dbadf921e4650585e24a1e643f.png
4cc3e03e76f631e4954769d50fee4e94.png

compile- 组:王玲,赵璇

相关链接:

https://towardsdatascience.com/bringing-the-best-out-of-jupyter-notebooks-for-data-science-f0871519ca29

如需转载,请后台留言,遵守转载规范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值