Jupyter Notebook秘诀、技巧和快捷键
Jupyter Notebook是什么
Jupyter Notebook是ipython Notebook 的升级。Jupyter能够将实时代码,公式,可视化图表以Cell的方式组织在一起,形成一个对代码友好的笔记本。Jupyter同时支持Markdown语法和LaTeX语法,可以有效输出富文本方式的PDF文档。
界面
默认情况下,Jupyter Notebook 使用Python内核,这就是为什么它原名 IPython Notebook。Jupyter notebook是Jupyter项目的产物——Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与“木星(jupiter)”谐音。
1. 快捷键
高手们都知道,快捷键可以节省很多时间。Jupyter在顶部菜单提供了一个快捷键列表:Help > Keyboard Shortcuts
,
或者在命令模式下按下H
(稍后再说) 。每次更新Jupyter的时候,一定要看看这个列表,因为不断地有新的快捷键加进来。另外一个方法是使用Cmd + Shift + P
( Linux 和 Windows下 Ctrl + Shift + P
亦可)调出命令面板。这个对话框可以让你通过名称来运行任何命令——当你不知道某个操作的快捷键,或者那个操作没有快捷键的时候尤其有用。这个功能与苹果电脑上的Spotlight搜索很像,一旦开始使用,你必定会欲罢不能。
我的最爱几个:
-
Esc
将进入命令模式。 - 在命令模式下:
-
A
在当前单元格上方插入一个新单元格,B
在下面插入一个新单元格。 -
M
将当前单元格更改为Markdown,Y
将其更改为代码 -
D + D
(按键两次)删除当前单元格 -
Enter
将使您从命令模式返回到给定单元格的编辑模式。 -
Shift + Tab
将显示您刚刚在代码单元格中键入的对象的Docstring(文档) ,可以继续按此快捷方式循环浏览几种文档模式。 -
Ctrl + Shift + -
将会将当前单元格分割为两个单元格。
-
-
Esc + F
在代码中查找、替换,忽略输出。 -
Esc + O
在单元格l和输出结果间切换。 - 选择多个单元格:
-
Shift + J
或Shift + Down
选择下一个单元格。 -
Shift + K
或Shift + Up
选择上一个单元格。 - 一旦选定cell,可以批量删除/拷贝/剪切/粘贴/运行。当你需要移动notebook的一部分时这个很有用。
-
Shift + M
合并单元格。
-
2. 优雅的变量显示
众所周知,把变量名称或没有定义输出结果的语句放在单元格的最后一行,无需print
语句,Jupyter也会显示变量值。当使用Pandas DataFrames时这一点尤其有用,因为输出结果为整齐的表格。
鲜为人知的是,你可以通过修改内核选项ast_note_interactivity
,使得Jupyter对独占一行的所有变量或者语句都自动显示。
如果你想在各种情形下(Notebook和Console)Jupyter都同样处理,用下面的几行简单的命令创建文件~/.ipython/profile_default/ipython_config.py
即可实现:
3. 轻松链接到文档
在Help
菜单下,你可以找到常见库的在线文档链接,包括Numpy
,Pandas
,Scipy
和Matplotlib
等。
另外,在库、方法或变量的前面打上?
,即可打开相关的帮助文档。
4. 在notebook中绘制图像
-
matplotlib(事实上的标准),用
%matplotlib
内联激活 - 这是一个Dataquest Matplotlib教程。 -
%matplotlib notebook
提供交互性操作,但可能会有点慢,因为响应是在服务器端完成的。 - Seaborn建立于Matplotlib上,能够创建更具有吸引力的图像。只要通过导入Seaborn,你的matplotlib图就会变得更漂亮,没有任何代码修改。
- mpld3提供matplotlib代码的替代性呈现(通过d3),虽然不完整,但很好。
- bokeh生成可交互图像的更好选择。
- plot.py可以生成非常好的图像,可惜是付费服务。
5. IPython Magic命令
上面看到的%matplotlib inline
是IPython Magic命令的一个例子。基于IPython内核,Jupyter可以访问IPython内核中的所有Magics,从而使你的生活变得更加容易!
建议浏览IPython Magic命令的文档,毫无疑问,它对你会有所帮助。
原文地址:https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/
以上。