前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >五分钟带你轻松优化你的Jupyter Notebook

五分钟带你轻松优化你的Jupyter Notebook

作者头像
计算机与AI
发布2020-11-19 11:12:11
2.1K0
发布2020-11-19 11:12:11
举报
文章被收录于专栏:计算机与AI

本文介绍了一些有关改善Jupyter Notebook体验的简单技巧,并介绍了有用的快捷方式,添加主题,自动生成的目录等。

介绍

如今,Jupyter Notebook可能是解决Python中的机器学习/数据科学任务的最常用的环境。

Jupyter Notebook是一个客户端-服务器应用程序,用于在浏览器中运行笔记本文档。笔记本文档是能够同时包含代码和富文本元素(如段落,方程式等)的文档。

在本文中,我将引导您完成一些简单的技巧,以提高Jupyter Notebook的使用体验。我们将从有用的快捷方式开始,最后添加主题,自动生成的目录等。

捷径

快捷键对于加速编写代码非常有用。现在,我将向您介绍一些我发现在Jupyter中最有用的快捷方式。

与Jupyter Notebook交互的方法有两种:命令模式和编辑模式。有些快捷方式仅在一种模式或另一种模式下有效,而另一些快捷方式在两种模式下均通用。

在这两种模式下通用的一些快捷方式是:

Ctrl + Enter:运行所有选定的单元格

Shift + Enter:运行当前单元格并移动下一个单元格

Ctrl + s:保存笔记本

为了进入Jupyter命令模式,我们需要按Esc键,然后按以下任意命令:

H:显示Jupyter Notebook中所有可用的快捷方式

Shift +向上/向下箭头:同时选择多个笔记本单元(选择多个单元后按Enter将使它们全部运行!)

A:在上方插入一个新单元格

B:在下面插入一个新单元格

X:剪切所选单元格

Z:撤消删除单元格

Y:将单元格的类型更改为Code

M:将单元格类型更改为Markdown

空间:向下滚动笔记本

Shift +空格键:向上滚动笔记本

为了进入Jupyter编辑模式,我们需要依次按Enter和以下任何命令:

标签:代码竞争建议

Ctrl +]:缩进代码

Ctrl + [:目标代码

Ctrl + z:撤消

Ctrl + y:重做

Ctrl + a:全选

Ctrl + Home:将光标移到单元格开始

Ctrl + End:将光标移到单元格的末尾

Ctrl +左:将光标向左移动一个单词

Ctrl +右键:将光标向右移动一个字

Shell命令和软件包安装

没有多少用户意识到这一点,但是可以通过在单元格的开头添加感叹号的方式在Jupyter笔记本单元格中运行Shell命令。例如,使用!ls运行单元 将返回当前工作目录中的所有项目。用!pwd运行单元 将打印出当前目录的文件路径。

同样的技巧也可以应用于在Jupyter笔记本中安装Python软件包。

代码语言:javascript
复制
!pip install numpy

Jupyter主题

如果您有兴趣更改Jupyter笔记本的外观,则可以安装具有不同主题集合的软件包。默认的Jupyter主题如图1所示。在图2中,您将看到我们如何个性化其外观。

代码语言:javascript
复制
!pip install jupyterthemes

我们可以运行以下命令来列出所有可用主题的名称:

代码语言:javascript
复制
!jt -l

# Cell output:
# Available Themes: 
#   chesterish
#   grade3
#   gruvboxd
#   gruvboxl
#   monokai
#   oceans16
#   onedork
#   solarizedd
#   solarizedl

最后,我们可以使用以下命令选择一个主题(在本示例中,我决定使用solarized1主题):

代码语言:javascript
复制
!jt -t solarizedl

如果您希望随时回到原始的Jupyter笔记本主题,则可以运行以下命令并刷新页面。

代码语言:javascript
复制
!jt -r

Jupyter笔记本扩展

笔记本扩展可以用于增强用户体验并提供多种个性化技术。

在此示例中,我将使用 nbextensions 库来安装所有必需的小部件(这一次,我建议您首先通过终端安装软件包,然后打开Jupyter笔记本)。该库利用不同的Javascript模型来丰富笔记本前端。

代码语言:javascript
复制
! pip install jupyter_contrib_nbextensions
! jupyter contrib nbextension install --system

一旦 nbextensions 安装,你会发现,有您Jupyter笔记本电脑主页(下图),一个额外的标签。

通过单击Nbextensions选项卡,将为我们提供可用小部件的列表。就我而言,我决定启用图4所示的选项。

我最喜欢的一些扩展是:

1.目录

从markdown标题自动生成目录。

2.片段

用于加载公共库并创建示例图的示例代码,您可以将它们用作数据分析的起点(下图)。

3.腹地

Jupyter Notebook的代码自动补全(下图)。

nbextensions 库提供了许多其他的扩展除了这三个,所以我鼓励你实验和测试任何其他可以是感兴趣的为您服务!

降价选项

默认情况下,Jupyter Notebook单元中的最后一个输出是唯一打印的输出。相反,如果我们希望自动打印所有命令而不必使用 print(),则可以在笔记本的开头添加以下代码行。

代码语言:javascript
复制
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

此外,可以通过将文本括在美元符号($)之间来在Markdown单元中编写LaTex。

笔记本幻灯片

通过转到查看->单元格工具栏->幻灯片 ,然后为笔记本中每个单元格选择幻灯片配置,可以创建Jupyter笔记本的幻灯片演示文稿 。

最后,通过转到终端并键入以下命令,将创建幻灯片。

代码语言:javascript
复制
pip install jupyter_contrib_nbextensions

# and successively:

jupyter nbconvert my_notebook_name.ipynb --to slides --post serve

魔法

魔术是可用于执行特定命令的命令。一些示例是:内联绘图,打印单元的执行时间,打印运行单元的内存消耗等。

仅以开头的魔术命令仅 将其功能应用于单元格的一行(放置命令的位置)。反而以2 %%开头的魔术命令 将应用于整个单元格。

使用以下命令可以打印出所有可用的魔术命令:

代码语言:javascript
复制
%lsmagic

由于微信公众号只能上传300帧的Gif图,所以我制作了很多无法上传,同学们可以自己尝试,全部代码已调试通,效果很棒。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机与AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 捷径
  • Shell命令和软件包安装
  • Jupyter主题
  • Jupyter笔记本扩展
  • 降价选项
  • 笔记本幻灯片
  • 魔法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档