真是绝了!史上最详细的Jupyter Notebook入门教程

推荐阅读时间:10min~12min 文章内容: Jupyter Notebook 入门教程

Jupyter Notebook 是一个在浏览器中使用的交互式的笔记本,可以实现将代码、文字完美结合起来,它的受众群体大多数是一些从事数据科学领域相关(机器学习、数据分析等)的人员。这里会告诉大家Jupyter Notebook入门时常用功能用法。

下载安装

条条大路通罗马,想要安装Jupyter Notebook也是一样。

一种方式是通过 pip 命令安装。

pip install jupyter

另一种方式是使用集成科学计算环境Anaconda。推荐使用这种方式,下载过程就不说了。根据自己的系统环境,选择对应的版本进行下载。安装基本上也就是一路next,也没有什么要说的。

启动Jupyter Notebook

使用 Anaconda 安装成功后,默认会将 Jupyter Notebook的启动程序添加到环境变量中。启动程序为jupyter-notebook。可以进入命令行,然后使用 jupyter-notebook --h 来查看使用说明。

(c:\soft\py3) C:\Users\wangwei01>jupyter notebook --h
usage: jupyter-notebook [-h] [--pylab [NOTEBOOKAPP.PYLAB]]
                        [--keyfile NOTEBOOKAPP.KEYFILE]
                        [--client-ca NOTEBOOKAPP.CLIENT_CA]
                        [--notebook-dir NOTEBOOKAPP.NOTEBOOK_DIR]
                        [--port-retries NOTEBOOKAPP.PORT_RETRIES]
                        [--config NOTEBOOKAPP.CONFIG_FILE]
                        [--certfile NOTEBOOKAPP.CERTFILE]
                        [--log-level NOTEBOOKAPP.LOG_LEVEL]
                        [--browser NOTEBOOKAPP.BROWSER]
                        [--transport KERNELMANAGER.TRANSPORT]
                        [--ip NOTEBOOKAPP.IP] [--port NOTEBOOKAPP.PORT] [-y]
                        [--script] [--no-mathjax] [--no-browser]
                        [--allow-root] [--debug] [--no-script]
                        [--generate-config]

optional arguments:
  -h, --help            show this help message and exit
  --pylab [NOTEBOOKAPP.PYLAB]
  --keyfile NOTEBOOKAPP.KEYFILE
  --client-ca NOTEBOOKAPP.CLIENT_CA
  --notebook-dir NOTEBOOKAPP.NOTEBOOK_DIR
  --port-retries NOTEBOOKAPP.PORT_RETRIES
  --config NOTEBOOKAPP.CONFIG_FILE
  --certfile NOTEBOOKAPP.CERTFILE
  --log-level NOTEBOOKAPP.LOG_LEVEL
  --browser NOTEBOOKAPP.BROWSER
  --transport KERNELMANAGER.TRANSPORT
  --ip NOTEBOOKAPP.IP
  --port NOTEBOOKAPP.PORT
  -y, --y
  --script
  --no-mathjax
  --no-browser
  --allow-root
  --debug
  --no-script
  --generate-config

启动前需要先说明一个概念,jupyter notebook中有个叫做工作空间(工作目录)的概念,也就是说如果你想在哪个目录进行之后的工作,那就在哪个目录启动它。例如,这里我想将家目录的的jp_workspace目录作为工作空间,那我就需要进入到这个目录下。

我们这里会在本地使用jupyter notebook,所以启动命令很简单,直接输入 jupyter-notebook

启动成功后,会在浏览器中打开一个窗口。

新建Notebook

打开的界面主要包含了以上的几个菜单,我们点击“New”-》“Python3”来创建一个Python3的.ipynb文件。

可以看到,每一个Notebook主要包含三个区域:

  • 文件名
  • 菜单栏(工具栏)
  • 内容编辑

修改文件名

点击文件名,可以重命名当前Notebook的文件名,这里修改为“demo”。

熟悉菜单栏

这里介绍下常用的几个菜单栏的作用。

File

File 菜单中主要包含了以下功能:创建新的Notebook、打开新的界面、拷贝当前Notebook、重命名Notebook、保存还原点、恢复到指定还原点、查看Notebook预览、下载Notebook、关闭Notebook。

这里重点强调下下载Notebook选项,它可以将当前Notebook转为py文件、html文件、markdown文件、rest文件、latex文件、pdf文件。

Insert

Insert 菜单中包含了在当前位置之下插入一个新的cell(单元格)、在当前位置之上插入一个新的cell(单元格)。

Cell

Cell 菜单主要包含了运行cells、运行cells后并在之后插入新的cell、运行所有cells、运行当前之上的所有cell、运行当前之下的所有cell、改变cell类型(code、markdown、raw nbconvert)等。

Kernel

Kernel 菜单主要包含了中断kernel、重启kernel、重启kernel并清除输出、重启kernel并运行所有cell、重连kernel、关闭kernel、改变kernel类型。

Help

Help 菜单主要包含了用户交互引导、键盘快捷键、修改键盘快捷键、Notebook帮助、Markdown帮助、Jupyter-notebook-extensions帮助、Python帮助、IPython帮助、Numpy帮助、Scipy帮助、Matplotlib帮助、Sympy帮助、pandas帮助等。

如果能记住一些常用的快捷键,对使用Jupyter Notebook帮助还是很大的。

熟悉工具栏

工具栏上的内容都在下图中:

依次来介绍下,保存还原点、在当前位置之下添加cell、剪切当前cell、拷贝选择的cell、复制选择的cell、上移选中的cell、下移选中的cell、运行cell、中断kernel、重启kernel、修改cell类型、打开命令行调色板、美化cell代码。

很明显,工具栏中的功能大多都是菜单栏中的一部分功能的体现,主要是为了方便寻找。

运行Python代码

想要运行Python代码,其实很简单,因为Python代码最后都在 Cell 中编写的。首先在cell中编写好Python代码,然后点击运行,可以直接在下面看到结果。

仔细一点,我们可以发现,第一个cell前面有 “In [1]:”提示符,第二个cell前面有“In[2]:”提示符,同时也有“Out[2]:”输出符,这是因为如果没有print语句的话,Notebook会将当前cell的最后一条语句的结果以“Out[?]:”的方式输出。

编写Markdown

Notebook最友好的一个功能就是可以在cell中通过Markdown来编写文本。我们首先创建一个cell,然后更改类型为markdown,更改成功后,cell开头没有“In[?]:”的提示符。然后点击cell,按照markdown语法来输入文本。

除了对markdown语法的支持外,同时也支持html代码,此外,也支持latex公式语法。

使用latex公式时,如果需要在当前行内插入公式,公式前后分别需要一个$,如果需要在下一行单独插入公式,公式前后分别需要两个$。

在markdown类型的cell中输入以下内容:

## 这是一个二级标题

这是一个markdown类型的cell

- 下面演示了对html代码的支持:

  <a href="www.naodongopen">这是使用html的a标签实现的超链接</a>


- 下面演示的对latex公式的支持:

  当前行内插入公式:$ \int_0^{+\infty} x^2 dx $

  下一行插入公式:$$ \int_0^{+\infty} x^2 dx $$

运行该cell,得到以下结果:

以上便是Jupyter Notebook 入门的一些常用功能,希望对大家有用~

作者:无邪,个人博客:脑洞大开,专注于机器学习研究。

原文发布于微信公众号 - 脑洞科技栈(naodong-open)

原文发表时间:2018-03-19

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫实战

Python爬虫之二:自制简易词典

运行平台: Windows Python版本: Python3.6 IDE: PyCharm 其他工具: Chrome浏览器

11820
来自专栏北京马哥教育

编写Linux Shell脚本的最佳实践

来自:Myths的个人博客 作者:myths 链接:https://blog.mythsman.com/2017/07/23/1/(点击尾部阅读原文前往) 前言...

42090
来自专栏从零开始学自动化测试

Selenium2+python自动化39-关于面试的题

前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点。 一、selenium中如...

34760
来自专栏数据小魔方

左手用R右手Python系列16——XPath与网页解析库

最近写了不少关于网页数据抓取的内容,大多涉及的是网页请求方面的,无论是传统的RCurl还是新锐大杀器httr,这两个包是R语言中最为主流的网页请求库。 但是整个...

35150
来自专栏IT可乐

Java 多线程详解(二)------如何创建进程和线程

Java 多线程详解(一)------概念的引入:https://cloud.tencent.com/developer/article/1012542   在...

33560
来自专栏java一日一条

JAVA:自定义套件...

各位亲爱的小伙伴们大家好,最近很多伙伴都问我该怎么做自定义套件封装,我在这里做了一个教程分享给大家。

8620
来自专栏炉边夜话

写程序应该注意的地方

1. 对于文本编辑框,一定要判断是否含有非法字符。对于数字型一定要判断是否含有非数字。对于字符型,一定要判断是否在允许的字符内。

19630
来自专栏java一日一条

编写一个非常简单的 JavaScript 编辑器

当然,我们已经有可以使用的很好的Web编辑器:你只需下载,并插入页面即可。我以前习惯于使用CodeMirror和ACE。例如,我为CodeMirror写了一个插...

13720
来自专栏Golang语言社区

Go语言并发编程总结

Golang :不要通过共享内存来通信,而应该通过通信来共享内存。这句风靡在Go社区的话,说的就是 goroutine中的 channel …….

14340
来自专栏Golang语言社区

Go语言并发编程总结

Golang :不要通过共享内存来通信,而应该通过通信来共享内存。这句风靡在Go社区的话,说的就是 goroutine中的 channel ....... 他在...

31370

扫码关注云+社区

领取腾讯云代金券