Jupyter Notebook完全指南:使用方法和技巧详解

Jupyter notebook

  • 1. 安装
  • 2. 创建一个 Notebook
  • 运行 Jupyter
  • ipynb 文件
  • notebook 界面
  • 单元(Cells)
  • 快捷键
  • Kernels
  • 选择一个 kernel
  • 1. 安装

    最简单的安装方式就是通过 Anaconda 进行安装,Anaconda 是使用最广泛的环境管理工具,并且它可以预先安装很多常用的第三方库,包括numpypandasmatplotlib 等。
    除了通过 Anaconda 安装,也可以直接采用 pip

    pip install jupyter
    

    2. 创建一个 Notebook

    运行 Jupyter

    在 Windows,可以通过添加到开始菜单的快捷方式运行 Jupyter ,当然也可以通过在命令行输入命令 jupyter notebook
    注意,这里仅仅展示 Jupyter 运行时候的所在文件夹内的文件和文件夹,也就是在命令行运行 jupyter notebook 时所在的文件夹,当然这个也可以改变,运行命令的时候可以指定文件夹位置,即输入:

    jupyter notebook filepath
    

    此外,这里在浏览器上的 URL 地址是类似 http://localhost:8888/tree,其中 localhost 是表示本地地址,然后 8888 是端口。

    接下来就是创建一个新的 notebook,可以如下图所示,在管理界面的右上角位置,点击 New 菜单,这里就可以选择 Python 3 (或者其他的版本),然后就可以创建成功,并且是在新的窗口打开这个 notebook,在默认命名就是 Untitled.ipynb

    ipynb 文件

    每个 ipynb 文件都是通过 JSON 格式来描述 notebook 的内容,包括每个单元及其内容,都是通过 metadata的格式展示。这里可以在打开 ipynb 文件后,菜单中选择 Edit->Edit Notebook Metadata ,进行编辑。

    notebook 界面

    一个新的 notebook 界面如下图所示

    这里有两个术语需要知道--cellskernels ,两个都是非常重要的术语:

  • kernel :表示计算引擎,用于执行 notebook 中的代码块
  • cell :单元块,用于展示文本或者是代码。
  • 单元(Cells)

    首先介绍的是 Cells ,一个 Cell 就是上图中框部分,它是 notebook 的主要部分,通常有两种主要的 cell 类似:

    code cell :包括需要执行的代码,以及其运行结果
    Markdown cell :包含的是 Markdown 格式的文本并且其执行结果
    下图展示了一个简单的例子,第一行 Jupyter 入门教程 这个就是一个 Markdown cell ,这里展示的是执行这个 cell 的结果,如果需要执行一个 cell ,可以点击 Run 按钮,或者快捷键 Ctrl + Enter 即可,然后下方两个都是 code cell ,第一个是导入第三方库,第二个则是打印一段话以及其运行结果。

    可以注意到 code cell 的左侧会有一个标签 In [1] ,这里的数字表示该代码块运行的次序,即在该 notebook 中,如果没有执行,显示的是 In [ ] ,如果是该 notebook 第一个运行的代码块,则是 In [1] ,如果再次运行,则显示 In [2],依次类推,同个代码块多次执行,这个数字也是会改变的。而 InInput 的缩写。如果代码块运行时间有点久,它会显示 In [*] ,表示当前代码块正在运行中。

    对于 notebook,还可以直接展示变量的数值,或者是函数的返回值,不需要调用 print 函数,如下图所示,当然它只会打印当前单元的最后一行的内容。

    还需要注意的一件事情就是,对于一个单元,如果正在编辑,其边界框显示的是绿色,而运行时候则显示蓝色。这里展示的就是两种模式,即绿色表示编辑模式,蓝色表示命令模式

    快捷键

    notebook 有很多快捷键,可以通过菜单中的 Help->Keyboard Shortcuts 查看,也可以直接用快捷键 Ctrl+Shift+P 查看。下面简单介绍一些快捷键:

  • 编辑模式和命令模式可以通过 EscEnter 进行转换,一般是按 Esc 进入命令模式,Enter 进入编辑模式
  • 在命令模式下:

  • cell 之间上下浏览采用上下箭头,或者 UpDown
  • A 表示在当前 cell 上方插入一个新的 cell,而 B 则是下方插入新的cell
  • M 表示变为 Markdown cell ,而 Y 是表示变为 code cell
  • 连续按两次 D 是删除当前 cell
  • Z 是撤销操作
  • Shift 加上 Up 或者 Down 可以一次选择多个 cells ,接着采用 Shift + M 可以合并多个 cells
  • Kernels

    每个 notebook 都有一个 kernel。当执行一个单元内的代码的时候,就是采用 kernel 来运行代码,并将结果输出显示在单元内。同时 kernel 的状态会保留,并且不止局限在一个单元内,即一个单元内的变量或者导入的第三方库,也是可以在另一个单元内使用的,并不是相互独立的。

    某种程度来说,notebook 可以看做是一个脚本文件,除了增加了更多输入方式,比如说明文字、图片等等。

    这里同样用一个代码例子进行介绍 kernel 的这种特性,如下图所示,分别在两个单元内输入两段代码,第一个单元内时导入 numpy 并定义函数 square(),而第二个单元内就调用了这个函数 square() ,并成功运行输出结果。

    大部分情况下都是自顶向下的运行每个单元的代码,但这并不绝对,实际上是可以重新回到任意一个单元,再次执行这段代码,因此每个单元左侧的 In [ ] 就非常有用,其数字就告诉了我们它是运行的第几个单元。

    此外,我们还可以重新运行整个 kernel,这里介绍菜单 Kernel 中的几个选项:

  • Restart :重新开始 kernel,这会清空 notebook 中所有的变量定义
  • Restart & Clear Output: 和第一个选项相同,但还会将所有输出都清除
  • Restart & Run All:重新开始,并且会自动从头开始运行所有的单元内的代码
  • 通常如果 kernel 陷入某个单元的代码运行中,希望停止该代码的运行,则可以采用 Interupt 选项。

    选择一个 kernel

    Kernel 菜单中同样提供了一个更换 kernel 的选项,最开始创建一个 notebook 的时候,就是选择了一个 kernel ,当然这里能否选择其他的 kernel ,取决于是否有安装,比如 Python 的版本,当你同时安装了 python3.6python2.7 ,那么就有这两个选择,除了 Python 语言,Juypter notebook 支持的 kernel 还包括其他超过一百种语言,比如 Java、C、R、Julia 等等。

    物联沃分享整理
    物联沃-IOTWORD物联网 » Jupyter Notebook完全指南:使用方法和技巧详解

    发表评论