Jupyter NoteBook功能介绍
一、Jupyter Notebook 介绍
文学编程
在介绍 Jupyter Notebook 之前,让我们先来看一个概念:文学编程 ( Literate programming ),这是由 Donald Knuth 提出的编程方法。传统的结构化编程,人们需要按计算机的逻辑顺序来编写代码;与此相反,文学编程则可以让人们按照自己的思维逻辑来开发程序。
简单来说,文学编程的读者不是机器,而是人。 我们从写出让机器读懂的代码,过渡到向人们解说如何让机器实现我们的想法,其中除了代码,更多的是叙述性的文字、图表等内容。这么一看,这不正是数据分析人员所需要的编码风格么?不仅要当好一个程序员,还得当好一个作家。那么 Jupyter Notebook 就是不可或缺的一款集编程和写作于一体的效率工具。
历史传承
也许说到 Jupyter 你会觉得陌生,但想必你或多或少听过鼎鼎大名的 IPython。其实Jupyter 脱胎于 IPython 项目,IPython 顾名思义,是专注于 Python 的项目,但随着项目发展壮大,已经不仅仅局限于 Python 这一种编程语言了。Jupyter 的名字就很好地释义了这一发展过程,它是 Julia、Python 以及 R 语言的组合,字形相近于木星(Jupiter),而且现在支持的语言也远超这三种了。
优点
以下列举了 Jupyter Notebook 的众多优点:
极其适合数据分析
想象一下如下混乱的场景:你在终端中运行程序,可视化结果却显示在另一个窗口中,包含函数和类的脚本存在其他文档中,更可恶的是你还需另外写一份说明文档来解释程序如何执行以及结果如何。此时 Jupyter Notebook 从天而降,将所有内容收归一处,你是不是顿觉灵台清明,思路更加清晰了呢?支持多语言
也许你习惯使用 R 语言来做数据分析,或者是想用学术界常用的 MATLAB 和 Mathematica,这些都不成问题,只要安装相对应的核(kernel)即可。这里列出了 Jupyter 支持的所有语言,供您参考。分享便捷
支持以网页的形式分享,GitHub 中天然支持 Notebook 展示,也可以通过 nbviewer 分享你的文档。当然也支持导出成 HTML、Markdown 、PDF 等多种格式的文档。远程运行
在任何地点都可以通过网络链接远程服务器来实现运算,这里给出一个远程运行的例子,可以体验一下 Jupyter Notebook。交互式展现
不仅可以输出图片、视频、数学公式,甚至可以呈现一些互动的可视化内容,比如可以缩放的地图或者是可以旋转的三维模型。这就需要交互式插件(Interactive widgets)来支持,更多内容请参考这里。
二、Jupyter Notebook 使用入门
安装
对于初学者,最简单的方法是安装 Anaconda,因为它自带了 Jupyter Notebook。如果想进一步了解 Anaconda 的使用方法,可参考我的上一篇文章《致Python初学者们 - Anaconda入门使用指南》。
对于有经验的同学,自然使用命令行最为便捷。
如果在 conda 环境中,可以使用如下命令安装:
conda install jupyter notebook
或者直接通过 pip 安装:
pip install jupyter notebook
更多的安装说明请参考官网。
运行
如果使用 Anaconda,可以在其 Navigator 图形界面中点击打开 Notebook。但是最快捷的方法还是在命令行中输入:
jupyter notebook
此时你的 Web 浏览器被自动打开,显示文件目录。通过点击右上角的 new 创建新文档。

而关闭 notebook 文档可以通过选择文件名前的复选框后,点击 Shutdown 按钮实现。如果要关闭整个服务,则在原来的终端中按 Control + C 两次。

界面
Notebook 文档是由一系列单元(Cell)构成,主要有两种形式的单元:
代码单元:这里是你编写代码的地方,通过按
Shift + Enter运行代码,其结果显示在本单元下方。代码单元左边有In [1]:这样的序列标记,方便人们查看代码的执行次序。Markdown 单元:在这里对文本进行编辑,采用 markdown 的语法规范,可以设置文本格式、插入链接、图片甚至数学公式。同样使用
Shift + Enter运行 markdown 单元来显示格式化的文本。

类似于 Linux 的 Vim 编辑器,在 notebook 中也有两种模式:
编辑模式:编辑文本和代码。选中单元并按
Enter键进入编辑模式,此时单元左侧显示绿色竖线。命令模式:用于执行键盘输入的快捷命令。通过
Esc键进入命令模式,此时单元左侧显示蓝色竖线。
如果要使用快捷键,首先按 Esc 键进入命令模式,然后按相应的键实现对文档的操作。比如切换成代码单元(Y)或 markdown 单元(M),或者在本单元的下方增加一单元(B)。查看所有快捷命令可以按H。
尽管一开始需要花费一些学习成本,但熟练使用快捷键将大大提高工作效率。试想你在键盘上十指如飞时,如果还需要通过鼠标来操作文档,是不是很影响思考速度呢?
三、Jupyter Notebook 进阶功能
数学公式编辑
如果你曾做过严肃的学术研究,一定对 LaTeX 并不陌生,这简直是写科研论文的必备工具,不但能实现严格的文档排版,而且能编辑复杂的数学公式。在 Jupyter Notebook 的 markdown 单元中我们也可以使用 LaTeX 的语法来插入数学公式。
在文本行中插入数学公式,使用一对 $符号,比如质能方程 $E = mc^2$。如果要插入一个数学区块,则使用一对 $$ 符号。比如下面公式表示 z=x/y:
$$ z = \frac{x}{y} $$
如何在 notebook 中使用 LaTeX,可进一步参考 A Primer on Using LaTeX in Jupyter Notebooks 这篇文章。
幻灯片制作
既然Jupyter Notebook 擅长展示数据分析的过程,除了通过网页形式分享外,当然也可以将其制作成幻灯片的形式。这里有一个幻灯片示例供参考,其制作风格简洁明晰。
那么如何用 Jupyter Notebook 制作幻灯片呢?首先在 notebook 的菜单栏选择 View > Cell Toolbar > Slideshow,这时在文档的每个单元右上角显示了 Slide Type 的选项。通过设置不同的类型,来控制幻灯片的格式。有如下5中类型:
- Slide:主页面,通过按左右方向键进行切换。
- Sub-Slide:副页面,通过按上下方向键进行切换。
- Fragment:一开始是隐藏的,按空格键或方向键后显示,实现动态效果。
- Skip:在幻灯片中不显示的单元。
- Notes:作为演讲者的备忘笔记,也不在幻灯片中显示。

当编写好了幻灯片形式的 notebook,如何来演示呢?这时需要使用 nbconvert:
jupyter nbconvert notebook.ipynb --to slides --post serve
在命令行中敲入上述代码后,浏览器会自动打开相应的幻灯片。
魔术关键字
魔术关键字(magic keywords),正如其名,是用于控制 notebook 的特殊的命令。它们运行在代码单元中,以 % 或者 %% 开头,前者控制一行,后者控制整个单元。
比如,要得到代码运行的时间,则可以使用 %timeit;如果要在文档中显示 matplotlib 包生成的图形,则使用 % matplotlib inline;如果要做代码调试,则使用 %pdb。但注意这些命令大多是在Python kernel 中适用的,其他 kernel 大多不适用。有许许多多的魔术关键字可以使用,更详细的清单请参考 Built-in magic commands 。
相关资源汇总
本文给出了许多扩展链接供参考,这里汇总如下,供您参考:
Jupyter NoteBook功能介绍的更多相关文章
- Windows下的Jupyter Notebook 的介绍(写给新手)(图文详解)
不多说,直接上干货! Windows下的Python 3.6.1的下载与安装(适合32bits和64bits)(图文详解) Windows下的Jupyter Notebook 安装与自定义启动(图文详 ...
- Jupyter Notebook 介绍 安装和使用技巧
Jupyter Notebook介绍.安装及使用教程 原文链接:https://www.jianshu.com/p/91365f343585 目录一.什么是Jupyter Notebook? 1. 简 ...
- 增强 Jupyter Notebook的功能
增强 Jupyter Notebook的功能 Jupyter Notebook 是所有开发者共享工作的神器,它为共享 Notebooks 提供了一种便捷方式:结合文本.代码和图更快捷地将信息传达给受众 ...
- 使用Jupyter Notebook编写技术文档
1.jupyter Notebook的组成 这里它的组件及其工程构成,帮助大家更好的用好jupyter Notebook 组件 Jupyter Notebook结合了三个组件: 笔记本Web应用程序: ...
- Jupyter Notebook(iPython)
一.Jupyter Notebook介绍 1.什么是Jupyter Notebook Jupyter Notebook是基于网页的用于交互计算的应用程序.其可被应用于全过编码开发.文档编写.运行代码和 ...
- Jupyter Notebook环境安装
Jupyter Notebook环境安装 一.什么是jupyter Notebook 1.简介 Jupyter Notebook 是基于网页的用于交互计算机的应用程序器可被应用程序. 能让用户将说明文 ...
- jupyter notebook的安装与基本操作
0.前言 最近正在重温Python基础知识,为了方便练习敲代码,于是选择安装jupyter notebook作为代码编辑器. Project Jupyter exists to develop ope ...
- 全真教程:Windows环境Jupyter Notebook安装、运行和工作文件夹配置
全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 @ 目录 全真教程:Windows环境Jupyter Notebook安装.运行和工作文件夹配置 一.Jupyt ...
- 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍
安装过程: 1. 首先我们引入jupyter_contrib_nbextension这个第三方库. 2. 在Anaconda Promot中输入命令: pip install jupyter_con ...
随机推荐
- 超哥笔记 --nginx入门(6)
一 NGINX 1 nignx是什么 nginx是一个开源的支持高性能,高并发的web服务和代理服务软件. nginx比他大哥apache性能改进许多,nginx占用的系统资源更少,支持高并发连接,有 ...
- Mac中安装git后,终端运行git出错,提示安装Xcode
mac用户不使用Xcode安装git之后,默认安装路径是: /usr/local/git 但是在终端运行 git 命令时候的路径是: /usr/bin/git 当我们输入 git 命令时出现如下错误, ...
- SegNet 理解与文章结构
SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation 发表于2016年,作者 Vijay B ...
- 写个.net开发者的Linux迁移指南
前言 为什么要迁移到Linux 首先我个人还是有点软件洁癖,以前是穷酸学生的时候也是用盗版的用户,后来在知乎被洗脑终于有了点版权意识.然后便有了能用开源软件的就用开源,实在不能就选社区版或者免费版.于 ...
- D. The Beatles
链接 [https://codeforces.com/contest/1143/problem/D] 题意 就是有nkcity,n个面包店 第一个面包店在1city,第x个在(x-1)k+1city ...
- 微信公众号开发 [05] 微信支付功能开发(网页JSAPI调用)
1.微信支付的流程 如下三张手机截图,我们在微信网页端看到的支付,表面上看到的是 "点击支付按钮 - 弹出支付框 - 支付成功后出现提示页面",实际上的核心处理过程是: 点击支付按 ...
- openstack搭建之-nova配置(10)
一. base节点设置数据库 mysql -u root -proot CREATE DATABASE nova_api; CREATE DATABASE nova; CREATE DATABASE ...
- Win10 登陆密码不正确(安全模式仍然启动不了)
今天朋友重启Win10后,登陆密码显示不正确,是用了很多方法都不行 然后就瞎捣鼓就进去 进入BIOS将启动模式调为USB模式 重启启动不了后 再改回系统启动 就进去了(好神奇)
- Linux(CentOS) 查看当前占用CPU或内存最多的K个进程
一.可以使用以下命令查使用内存最多的K个进程 方法1: ps -aux | sort -k4nr | head -K 如果是10个进程,K=10,如果是最高的三个,K=3 说明:ps -aux中(a指 ...
- Datatable get请求传参应用
以关注页面为例: html: <div class="row"> <div class="col-md-12 col-sm-12 col-xs-12&q ...