Jupyter Notebook 优化:提示、技巧和扩展 | 翻译征文 | 雷锋字幕组

 本文为雷锋字幕组“触摸世界前沿科技 | 翻译征文 ”活动收录稿件

Jupyter Notebook 优化:提示、技巧和扩展

01

Jupyter Notebooks 是机器学习和数据科学社区广泛使用的基于Web的交互式工具,其一般在在线课程中作为一个报告工具或者高度复杂的学习材料,来用于快速测试。

在这篇博客中,我将列举一些关于Jupyter Notebooks快捷键、魔法命令和插件。

快捷键

按快捷键 Ctrl + Shift + p或者着点击菜单栏中的小键盘图标,可以得到一些命令的快捷键列表。

命令和编辑模式下的快捷键:

  • Shift + Enter 运行当前的单元格(Cell),选择下一个单元格

  • Ctrl + Enter 运行选择的单元格

  • Alt + Enter 运行当前的单元格,并在下方插入

  • Ctrl + S 保存并检查点

02

编辑模式下的快捷键:

  • Esc 进入命令模式

  • Tab 代码补全或缩进

  • Shift + Tab 工具提示

  • Ctrl + ] 向后缩进

  • Ctrl + [ 向前缩进

  • Ctrl + A 全选

  • Ctrl + Z 撤销

  • Ctrl + Shift + Z 或者 Ctrl + Y 重做

  • Ctrl + Home 回到单元起始位置

  • Ctrl + End 回到单元的结尾位置

  • Ctrl + Left 回到单词的左侧

  • Ctrl + Right 回到单词右侧

在命令模式下,按 H (help) 可以得到快捷键的列表:

03

下面我列出一些最常使用的快捷键。首先按 Esc 以确保你在命令模式下:

  • 通过按上、下键来上下滚动单元格

  • 按 A 或者 B 在当前活动单元格上方或下方插入新单元格

  • M 将活动单元格转换为 Markdown 单元格

  • X 剪切选择的单元格

  • 拷贝选择的单元格

  • V 粘贴拷贝或剪切的单元格

  • Shift + V 粘贴上方的单元格

  • S 保存笔记本

  • F 查找 / 替换

  • O 切换输出

  • D + D 按D两次会删除活动单元格

  • Z 撤销单元删除操作

  • 按住 Shift,再按上或者下键,可以一次选择多个单元

  • Shift + Space 向上滚动笔记本

  • Space 向下滚动笔记本

04

当多个单元格选中时:

  • 按 Shift + M 合并选中的单元格

  • 在编辑模式下按 Ctrl + Shift + - 从光标处分割活跃单元格

  • 在单元格的左侧边缘按Shift + Click 可以选中单元格

在笔记本之间拷贝复制单元格:

  • 笔记本1:按住 Shift 键选中多个单元格,然后按 Ctrl + C 拷贝选中的单元格

  • 笔记本2:按 Esc 进入命令模式,再按 Ctrl + V 来粘贴

使用命令 ! pip install 在当前内核安装包

通过在变量前面前置 符号可以在 shell 命令中使用 Python 变量:

05

魔术命令

魔术命令是能够显著提升笔记本能力的快捷键。

从笔记本中分享代码示例:

1. 使用 %pastebin魔术函数来选择一个范围内的单元格

2. Jupyter 会返回你一个用于分享的秘密链接

注意:分享链接会在7天后过期

使用 %whos 或 %who_ls可以得到已经定义的变量的列表

06

  • %whos 展示变量类型和其他诸如大小、内容等信息

  • %who_ls 只展示变量的名字

在 Jupyter Notebook 中处理外部文件:

  • %pycat file.py 打开脚本

  • %load file.py 将脚本插入一个单元格

  • %run file.py 运行脚本

  • %run file.ipynb 运行notebook

  • %notebook filename 将当前 IPython 历史导出到一个notebook文件

获取、设置、列出环境变量:

  • %env 列出所有环境变量

  • %env var 获取变量var的值

  • %env var val 将变量var设为值val

07

在 shell 中运行命令:

%system  =>  使用shell (大部分时候用来获取当前路径、日期等)

使用 %autosave 来自动保存笔记本到检查点

上面语句即每隔120秒自动保存一次。

执行不同的编程语言:

  • %%HTML  => 运行HTML代码

      

  • %%perl     => 在子过程运行Perl代码

  • %%javascript 或者 %%js  => 运行Javascript代码块

  • %%python3  => 在子过程中使用python3运行代码

  • %%ruby   => 运行Ruby代码

其他魔法命令:

  • %history =>  打印历史输入

  • %lsmagic  => 列出当前可以使用的魔法函数

  • %magic  => 打印魔法函数系统的信息

  • %matplotlib  => 设置matplotlib以支持交互工作

  • %pwd  => 返回当前工作路径

  • %quickref  => 展示快捷引用表

  • %time  => 一个Python申明或表达式的运行时间 (可以作为一个行或单元格魔法)

08

nbextensions

这些插件的好处是可以改变默认设置。

在 Anaconda Prompt 中执行下面命令便可以安装插件:

conda install -c conda-forge jupyter_contrib_nbextensions
conda install -c conda-forge jupyter_nbextensions_configurator

或者还可以通过 pip 安装

  • pip show jupyter_contrib_nbextensions  

  • 运行 pip show jupyter_contrib_nbextensions 可以找到插件的安装位置

  • 运行 jupyter contrib nbextensions install 可以安装新插件

安装完成后,重启 Jupyter notebook,这时可以看到新的 Nbextensions 工具栏已经被加到菜单。


相同的插件在编辑菜单中也有:

09

下面看一些插件

1. Hinterland – 该插件使得在代码单元格中每次按键后会自动进行代码补全,而不仅仅在按下tab键才进行补全

2. Split Cells Notebook – 允许在笔记本中切分单元格

进入命令模式 (Esc),使用 Shift + S 来切换单元格切分还是合并

3. Table of Contents  – 该插件可以收集所有的运行头并将其作为侧边栏展示在浮动窗口中或者在导航菜单中。该扩展可以拖动、缩放、收起、停靠且能够通过唯一的链接ID自动编号,有一个可选的目录单元格。

4. Autopep8 – 使用内核代码来格式化单元格代码内容

5. Snippets – 加入一个下拉菜单来在当前notebook中插入代码片段单元格

10

Jupyter Notebook 主题

我们可以将 Jupyter Notebook 默认的主题改为黑暗模式。

为了实现这点,我们需要安装 jupyterthemes :

jt -l 可以展示出可用的主题列表:

jt -t   能够更换主题。让我们快来试试使用 chesterish 主题来切换成黑暗模式。

jt -r 可以还原到默认主题。

原文链接://www.yanxishe.com/TextTranslation/2017

 本文为雷锋字幕组“触摸世界前沿科技 | 翻译征文 ”活动收录稿件

Tags: