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
剪切选择的单元格 -
C
拷贝选择的单元格 -
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
本文为雷锋字幕组“触摸世界前沿科技 | 翻译征文 ”活动收录稿件