Jupyter notebook入门教程(下)

Jupyter notebook的入门教程第二部分的英文原文出处: Getting started with the Jupyter notebook (part 2)

从之前介绍的教程第一部分中,我们发现使用Jupyter notebook的基本功能就可以做很多事情了,但是它还有更多的功能和选择,允许用户创造更漂亮的交互式文档。

单元操作

当你在编辑notebook时,你希望使用更多高级的cell操作。幸运的是,notebook允许你使用非常丰富的cell操作。你可以删除一个cell,先选中cell,点击Edit->Delete cell。你也可以移动一个cell的位置,点击Edit-> Move cell [up | down]。你也可以剪切、粘贴cell,点击Edit->Cut Cell then Edit -> Paste Cell …,选择需要的粘贴形式。如果有许多cells,而你只想执行一次,或者你想一次性执行大量代码,你就可以合并多个cells,点击Edit->Merge cell [above|below]。编辑notebook时,记住这些操作,会节约你很多时间。

Markdown单元高级用法

让我们再深入地探讨下markdown单元类型,即便它的类型是markdown,它同时也支持HTML代码。你可以在你的cell中创建更高级的样式,比如添加图片等等。举个例子来说,如果你想在notebook中添加Jupyter的图标,尺寸为100x100,并且放置在cell左侧,可以这样编写:

<img src="http://blog.jupyter.org/content/images/2015/02/jupyter-sq-text.png"
style="width:100px;height:100px;float:left">

运行该单元,效果如下:

除此之外,markdown还支持LaTex语法。你可以在markdown cell中按照LaTex语法规则写下方程式,然后直接运行,就可以看到结果。例如运行下面方程式:

$$\int_0^{+\infty} x^2 dx$$

运行后就得到了LaTex方程式:

导出功能

notebook另一个强大的功能就是导出功能。你可以把你的notebook(例如是个图解代码课程)导出为如下多种形式:

  • HTML
  • Markdown
  • ReST
  • PDF(Through LaTex)
  • Raw Python

如果导出成PDF格式,你甚至可以不使用LaTex就创建了一个漂亮的文档。或者,你可以将你的notebook保存为HTML格式,发布到个人网站上。你还可以导出成ReST格式,作为软件库的文档。

Matplotlib集成

如果你用Python画过图,应该知道matplotlib。Matplotlib是用来画图的Python库。与Jupyter notebook结合使用时,效果更好。下面,让我们来看看如何在Jupyter notebook中使用matplotlib。

为了在Jupyter notebook中使用matplotlib,你需要告诉Jupyter获取所有matplotlib生成的图形,并把它们全部嵌入到notebook中。为此,只需输入以下命令:

%matplotlib inline

这条语句执行可能耗费几秒钟,但是只需要你打开notebook时执行一次就好。让我们作个图,看看是怎么集成的:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(20)
y = x**2

plt.plot(x, y)

这段简单代码将绘出y=x2y=x^2对应的二次曲线。运行这个cell,结果如下所示:

我们可以看到,图直接嵌入到notebook中,就在代码下面。修改代码,重新运行,图形将自动同步更新。对于每个想要把代码和图形放在同一个文件中的数据科学家来说,这是一个很好的特性,这样可以清楚知道每段代码究竟干了什么。同时,在文档中添加一些文字型描述也有很大的作用。

非本地内核

Jupyter notebook非常容易从本地电脑上启动,也允许多个人通过网络连接到同一个Jupyter实例。你是否注意到,在上一部分的教程中,启动Jupyter时出现了下面这条语句:

IPython Notebook运行在:http://localhost:8888/

这条语句表示你的notebook是本地运行,可以在浏览器中输入地址http://localhost:8888/,打开你的notebook。通过修改配置,可以让notebook面向公开访问。这样,任何人如果知道这个notebook地址,就通过浏览器可以远程访问并修改notebook。

结语

通过这两个部分的入门教程,我们知道了Jupyter notebook是一个非常强大的工具,允许使用者为数据分析、教育、文件等任何你可以想到的内容创建漂亮的交互式文档。不要犹豫,探索它更多的功能和可能性。如果你有任何问题或者想感谢开发者们,请给他们反馈。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏上善若水

S006SELinux(SEAndroid)是个什么呀

SEAndroid 是一套安全机制,实现的主要目的是为了是Android系统更安全。 SELinux是被设计为一个灵活的可配置的MAC机制。 SEAndro...

1124
来自专栏魏艾斯博客www.vpsss.net

wordpress 搜索结果去除 Simple Urls 插件产生的短链接

朋友的 wordpress 使用了 simple urls 插件来做外链转内链的工作,确实很方便,但是有一个弊端,就是在博客中搜索关键词的时候,搜索结果中就会出...

902
来自专栏coding

django2.0入门教程第一节启动开发模式下的服务器

1292
来自专栏数据和云

故障恢复:从未知错误ORA-600 [3712]以猜测推理达成恢复

李真旭 Oracle ACE,云和恩墨技术专家 个人博客:www.killdb.com 在Oracle数据库的日常维护中,我们可能经常会遇到一些从未见过的错误,...

2786
来自专栏静晴轩

使用Hexo搭建专属Blog

使用Hexo初衷 才开始爱上折腾的自己早先在博客园有仿写几篇Blog,虽也可以自己改变风格,可是到底不是独立的一块儿地方,要知道独立的才是自己的;有属于自己独立...

3925
来自专栏搜云库

手把手教你 MongoDB 的安装与详细使用(一)

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

3627
来自专栏张善友的专栏

live messenger与稀疏文件—Sparse File Bit

今天进行磁盘整理,发现一个奇怪的文件SimilarityTable_1:下面是我的C盘整理后的结果 卷   (C:)     卷的大小             ...

1795
来自专栏云计算教程系列

如何在CentOS 7上使用Skyline检测异常

如果您使用监控系统(如Zabbix或Nagios),那么您就知道监控的工作原理。简而言之,它可以描述如下:监控系统接收各种指标(CPU /内存使用,网络利用率等...

2875
来自专栏崔庆才的专栏

只会用Selenium爬网页?Appium爬App了解一下

1.2K5
来自专栏linux运维学习

linux学习第五十八篇: 负载均衡集群介绍,LVS介绍,LVS的调度算法,LVS NAT模式搭建

负载均衡集群介绍 主流开源软件LVS、keepalived、haproxy、nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,hap...

2019

扫码关注云+社区