Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >高效jupyter notebook

高效jupyter notebook

原创
作者头像
王磊-字节跳动
修改于 2019-06-28 06:13:02
修改于 2019-06-28 06:13:02
2.2K0
举报
文章被收录于专栏:01ZOO01ZOO

本文基于并使用jupyter lab 0.35.6

1. 了解编辑模式和命令模式

类似vim,notebook也有命令模式和编辑模式。在编辑模式中按下esc就会进入命令模式,点击任何一个cell,或者按下enter可以进入编辑模式。如果你用过vim,就应该不难想象这两个模式的作用:在不同的模式下,编辑器提供的很多好用的快捷键,方便你进行方便快捷的操作。

如果你习惯了某种编辑器,你可以将快捷键映射成和vim, emacs, 或是sublime风格。

无须记住所有快捷键,但是有一些相信会对比帮助很大:比如

代码语言:txt
AI代码解释
复制
- 在命令模型下按下"y" 或者 "m", 可以让cell在code和markdown之间切换。
- 在命令模式下按下"dd", 可以删除cell。
- 按下 "shirft+enter", 运行本cell并选中下一个cell,而"Alt-Enter", 在运行本cell时,在下方插入一个新cell。
- 命令模式下,"shirft+m", 合并本cell和下一个cell。
- 命令模式下:"c", "x", "v" 分别表示复制,剪切,粘贴cell。

下面列出了更多快捷键

命令模式快捷键(按 Esc 键开启):

快捷键

作用

说明

Enter

转入编辑模式

Shift-Enter

运行本单元,选中下个单元

新单元默认为命令模式

Ctrl-Enter

运行本单元

Alt-Enter

运行本单元,在其下插入新单元

新单元默认为编辑模式

Y

单元转入代码状态

M

单元转入 markdown 状态

R

单元转入 raw 状态

1

设定 1 级标题

仅在 markdown 状态下时建议使用标题相关快捷键,如果单元处于其他状态,则会强制切换到 markdown 状态

2

设定 2 级标题

3

设定 3 级标题

4

设定 4 级标题

5

设定 5 级标题

6

设定 6 级标题

Up

选中上方单元

K

选中上方单元

Down

选中下方单元

J

选中下方单元

Shift-K

连续选择上方单元

Shift-J

连续选择下方单元

A

在上方插入新单元

B

在下方插入新单元

X

剪切选中的单元

C

复制选中的单元

Shift-V

粘贴到上方单元

V

粘贴到下方单元

Z

恢复删除的最后一个单元

D,D

删除选中的单元

连续按两个 D 键

Shift-M

合并选中的单元

Ctrl-S

保存当前 NoteBook

S

保存当前 NoteBook

L

开关行号

编辑框的行号是可以开启和关闭的

O

转换输出

Shift-O

转换输出滚动

Esc

关闭页面

Q

关闭页面

H

显示快捷键帮助

I,I

中断 NoteBook 内核

0,0

重启 NoteBook 内核

Shift

忽略

Shift-Space

向上滚动

Space

向下滚动

编辑模式快捷键( 按 Enter 键启动):

快捷键

作用

说明

Tab

代码补全或缩进

Shift-Tab

提示

输出帮助信息,部分函数、类、方法等会显示其定义原型,如果在其后加 ? 再运行会显示更加详细的帮助

Ctrl-]

缩进

向右缩进

Ctrl-[

解除缩进

向左缩进

Ctrl-A

全选

Ctrl-Z

撤销

Ctrl-Shift-Z

重做

Ctrl-Y

重做

Ctrl-Home

跳到单元开头

Ctrl-Up

跳到单元开头

Ctrl-End

跳到单元末尾

Ctrl-Down

跳到单元末尾

Ctrl-Left

跳到左边一个字首

Ctrl-Right

跳到右边一个字首

Ctrl-Backspace

删除前面一个字

Ctrl-Delete

删除后面一个字

Esc

切换到命令模式

Ctrl-M

切换到命令模式

Shift-Enter

运行本单元,选中下一单元

新单元默认为命令模式

Ctrl-Enter

运行本单元

Alt-Enter

运行本单元,在下面插入一单元

新单元默认为编辑模式

Ctrl-Shift--

分割单元

按光标所在行进行分割

Ctrl-Shift-Subtract

分割单元

Ctrl-S

保存当前 NoteBook

Shift

忽略

Up

光标上移或转入上一单元

Down

光标下移或转入下一单元

Ctrl-/

注释整行/撤销注释

仅代码状态有效

2. 了解ipython的magic

在code中输出%开头的命令,成为magic。magic很有用,下面是一些常用的Magic:

magic

作用

%lsmagic

查看支持的magic

%time, %timeit and %%time

计时,%%time表示cell级别的计时

%matplotlib

保证 Jupyter Notebooks 展示图表

%load_ext

加载插件,比如%load_ext autoreload 是最常用的命令之一,加载自动更新引用module的插件

%system

使用shell. 使用!也可以完成这个功能

%who_ls

%who_ls 输出环境中的变量

%run

可以从.py文件执行Python代码. 也可以执行其他的Jupyter notebook。

%writefile %pycat

%writefile魔法保存cell的内容到一个外部文件。%pycat则刚好相反,并且会向你展示高亮后的外部文件。

%pdb %debug

%pdb 打开pdb调试代码, %debug能异常时自动打开pdb

运行其他语言代码

%%bash %%HTML %%python2 %%python3 %%ruby %%perl

更多magic可以用%lsmagic查看,或者查阅ipython文档

通常在notebook的第一个cell就设置常用的magic

比如最常用的几个:

代码语言:txt
AI代码解释
复制
%matplotlib inline
%reload_ext autoreload
%autoreload 2

下面是几个magic的例子:

代码语言:txt
AI代码解释
复制
%%time
for i in range(4000): a = i**i
%time for i in range(2000): a = i**i
代码语言:txt
AI代码解释
复制
CPU times: user 80 ms, sys: 0 ns, total: 80 ms
代码语言:txt
AI代码解释
复制
Wall time: 83.4 ms
代码语言:txt
AI代码解释
复制
CPU times: user 616 ms, sys: 0 ns, total: 616 ms
代码语言:txt
AI代码解释
复制
Wall time: 651 ms
代码语言:txt
AI代码解释
复制
from numpy.random import randint
import matplotlib.pyplot as plt

# Sample 1000 random values to create a scatterplot
x = randint(low=1, high=1000, size=100)
y = randint(low=1, high=1000, size=100)

%matplotlib inline
plt.scatter(x, y)
plt.show()
image
image
代码语言:txt
AI代码解释
复制
%%HTML
This is <em>really</em> neat!

This is <em>really</em> neat!

代码语言:txt
AI代码解释
复制
%%latex
Some important equations:$E = mc^2$
$e^{i pi} = -1$

Some important equations:$E = mc^2$

$e^{i pi} = -1$

3. 了解ipython help和文档

代码补全

当你输入一个函数,按下tab时,你会发现,所有相关的函数都会列出来,如果只有一个,它会自动补全。

image
image

寻找文档或者源代码

在函数或者模块后输入? 或者 ?? 分别可以输出详细的python文档和源代码。(在jupyter中文档是以下方弹出框或者链接的方式展示,而jupyter lab目前还是以直接输出的形式显示,这一点未来可能会变化)

4. 了解常用的kernel和插件

社区通过kernel的方式支持除了python之外的更多语言。

jupyter的支持多种扩展方式,社区提供了许多很好的插件,下面列出了一些常用的优秀插件。更多插件推荐

插件

说明

LaTeX

支持编辑 LaTeX 文档.

DrawIO

支持在你的JupyterLab创建和编辑 drawio图表 .

Table of Contents

为你的 markdown 文档生成toc.

Go to definition

支持 Alt + click 跳转

Code Formatter

Easily beautifies Python code inside JupyterLab using one of the formatters: Black/YAPF/AutoPEP8.

Git

Git extension

GitHub

GitHub extension

ipywidgets

Interactive widgets for the Jupyter Notebook

目前(本文的编辑时间20190623)的jupyter lab版本处于0.35.6,而最新的未release版本为1.0,新旧版本改动较大,插件不兼容,所以安装的时候需要关注插件是否支持你的jupyter版本(比如某些插件还未提供1.0版本的支持,所以目前还是使用jupyter lab比较可靠)。

5. 用容器运行jupyter lab

使用容器一键启动jupyter环境,使用dockerfile定制运行环境,保存你的notebook到对象存储或者网盘上,这样你就可以在任何时候任何地方快速启动你的jupyter lab了。

以下是我运行jupyter lab的方式:

  1. 挂载我的腾讯云对象存储cos数据到本地(你也可以用google driver之类的插件对接google driver,目前还没有cos插件)
  2. 运行jupyter镜像,这个镜像ccr.ccs.tencentyun.com/leiwang/jupterlab:latest 使用python3.6制作,安装了上文中提到的所有插件,并安装的一些常用的python包。你可以查看Dockerfile
代码语言:txt
AI代码解释
复制
cosfs data-1251825869 /data/cos -ourl=http://cos.ap-shanghai.myqcloud.com -odbglevel=info
docker run -d  --mount type=bind,bind-propagation=shared,source=/data,target=/opt/app/data  --net=host ccr.ccs.tencentyun.com/leiwang/jupterlab:latest  jupyter lab --ip=xxx  --no-browser --notebook-dir=/opt/app/data --allow-root

配置完成之后的效果图

image
image
image
image

推荐在腾讯云的钛机器学习平台tione上直接打开运行jupyter lab,省略复杂的配置步骤。

代码语言:txt
复制

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Jupyter Notebook开荒笔记
命令行窗口运行jupyter notebook命令,浏览器访问'http://localhost:8888/tree'即可
Hsinyan
2022/06/19
7410
Jupyter Notebook介绍(上篇)
2019年的第一篇~先祝大家新年快乐!在2019开开心心打代码,顺顺利利debug!
MeteoAI
2019/07/24
1.6K0
Jupyter notebook 的使用
Jupyter notebook 是一种 Web 应用,它能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,非常方便研究和教学。在原始的 Python shell 与 IPython 中,可视化在单独的窗口中进行,而文字资料以及各种函数和类脚本包含在独立的文档中。
foochane
2019/05/23
1.6K0
Jupyter Notebook的使用
Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本单元,在其下插入新单元 Y : 单元转入代码状态 M :单元转入markdown状态 R : 单元转入raw状态 1 : 设定 1 级标题 2 : 设定 2 级标题 3 : 设定 3 级标题 4 : 设定 4 级标题 5 : 设定 5 级标题 6 : 设定 6 级标题 Up : 选中上方单元 K : 选中上方单元 Down : 选中下方单元 J : 选中下方单元 Shift-K : 扩大选中上方单元 Shift-J : 扩大选中下方单元 A : 在上方插入新单元 B : 在下方插入新单元 X : 剪切选中的单元 C : 复制选中的单元 Shift-V : 粘贴到上方单元 V : 粘贴到下方单元 Z : 恢复删除的最后一个单元 D,D : 删除选中的单元 Shift-M : 合并选中的单元 Ctrl-S : 文件存盘 S : 文件存盘 L : 转换行号 O : 转换输出 Shift-O : 转换输出滚动 Esc : 关闭页面 Q : 关闭页面 H : 显示快捷键帮助 I,I : 中断Notebook内核 0,0 : 重启Notebook内核 Shift : 忽略 Shift-Space : 向上滚动 Space : 向下滚动 编辑模式 ( Enter 键启动) Tab : 代码补全或缩进 Shift-Tab : 提示 Ctrl-] : 缩进 Ctrl-[ : 解除缩进 Ctrl-A : 全选 Ctrl-Z : 复原 Ctrl-Shift-Z : 再做 Ctrl-Y : 再做 Ctrl-Home : 跳到单元开头 Ctrl-Up : 跳到单元开头 Ctrl-End : 跳到单元末尾 Ctrl-Down : 跳到单元末尾 Ctrl-Left : 跳到左边一个字首 Ctrl-Right : 跳到右边一个字首 Ctrl-Backspace : 删除前面一个字 Ctrl-Delete : 删除后面一个字 Esc : 进入命令模式 Ctrl-M : 进入命令模式 Shift-Enter : 运行本单元,选中下一单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本单元,在下面插入一单元 Ctrl-Shift-- : 分割单元 Ctrl-Shift-Subtract : 分割单元 Ctrl-S : 文件存盘 Shift : 忽略 Up : 光标上移或转入上一单元 Down :光标下移或转入下一单元
hankleo
2022/05/10
9780
Jupyter Notebook的使用
【Python基础】Jupyter Notebook & Lab快捷键大全
可以往单元中键入代码或文本,此时单元格被蓝色的框线包围,且命令模式下的快捷键不生效;
黄博的机器学习圈子
2020/11/17
13.7K0
【Python基础】Jupyter Notebook & Lab快捷键大全
Jupyter Notebook 的快捷键
Jupyter Notebook 有两种键盘输入模式。编辑模式,允许你往单元中键入代码或文本;这时的单元框线是绿色的。命令模式,键盘输入运行程序命令;这时的单元框线是灰色。 命令模式 (按键 Esc 开启) Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本单元,在其下插入新单元 Y : 单元转入代码状态 M :单元转入markdown状态 R : 单元转入raw状态 1 : 设定 1 级标题 2 : 设定
dreamkong
2018/06/21
5680
jupyter notebook 快捷键
•Enter : 转入编辑模式 •Shift-Enter : 运行本单元,选中下个单元 •Ctrl-Enter : 运行本单元 •Alt-Enter : 运行本单元,在其下插入新单元 •Y : 单元转入代码状态 •M :单元转入markdown状态 •R : 单元转入raw状态 •1 : 设定 1 级标题 •2 : 设定 2 级标题 •3 : 设定 3 级标题 •4 : 设定 4 级标题 •5 : 设定 5 级标题 •6 : 设定 6 级标题 •Up : 选中上方单元 •K : 选中上方单元 •Down : 选中下方单元 •J : 选中下方单元 •Shift-K : 扩大选中上方单元 •Shift-J : 扩大选中下方单元 •A : 在上方插入新单元 •B : 在下方插入新单元 •X : 剪切选中的单元 •C : 复制选中的单元 •Shift-V : 粘贴到上方单元 •V : 粘贴到下方单元 •Z : 恢复删除的最后一个单元 •D,D : 删除选中的单元 •Shift-M : 合并选中的单元 •Ctrl-S : 文件存盘 •S : 文件存盘 •L : 转换行号 •O : 转换输出 •Shift-O : 转换输出滚动 •Esc : 关闭页面 •Q : 关闭页面 •H : 显示快捷键帮助 •I,I : 中断Notebook内核 •0,0 : 重启Notebook内核 •Shift : 忽略 •Shift-Space : 向上滚动 •Space : 向下滚动
lop
2019/06/21
5430
数据分析利器jupyter notebook入门手册
今天就公开啦:Jupyter Notebook,没有Pycharm,没有Vscode,没有Sublime text。只有Jupyter Notebook。从2019年至今,使用了两年半多的时间,今天就好好聊聊它~
皮大大
2021/10/07
1.6K0
数据分析利器jupyter notebook入门手册
环境搭建
本课程用到的Python版本都是3.x。要有一定的Python基础,知道列表、字符串、函数等的用法。
用户9615083
2022/12/25
1.5K0
环境搭建
Jupyter-Notebook使用技巧
如果你用Python做开发,那么首选Pycharm;但是如果你想用Python做数据分析、数据挖掘,以及火热的机器学习和人工智能项目,Jupyter Notebook注定是首选,因为Jupyter Notebook一直都是做数据科学的最佳利器。
皮大大
2021/04/09
1.6K0
Jupyter-Notebook使用技巧
Jupyter notebook使用指南
一、Jupyter介绍 Jupyter Notebook是以web交互式的编程接口,是IPython notebook的升级版本。主要是针对python,另外支持运行 40 多种编程语言。Jupyter可以在个人机器开发,也可以连接到集群中使用分布式计算引擎spark等以及数据库(mysql/hive/hdfs)。 Jupyter相对于其他python编程工具来说,除了通常的新建、删除、更改、下载编程文件外,还支持在线编程运算可帮助持续开发,特别在企业中有些项目需要持续很长时间的开发,每天下班后关闭jup
智能算法
2018/04/03
7.2K0
Jupyter notebook使用指南
Jupyter Notebook使用技巧
为了更加方便快捷的使用Jupyter Notebook,本文将会介绍一些相关的使用技巧。
花猪
2022/02/16
2K0
Jupyter Notebook使用技巧
AI编程常用工具 Jupyter Notebook
我们先来看 4 个常用的编程工具:Sublime Text、Vim、Jupyter。虽然我介绍的是 Jupyter,但并不是要求你必须使用它,你也可以根据自己的喜好自由选择。
程序猿Damon
2023/09/04
6760
AI编程常用工具 Jupyter Notebook
Jupyter notebook使用技巧大全
Jupyter Notebook是一款开源的web应用,它允许使用者创建和分享包含代码,公式,可视化图表和纯文本的文档,并支持多种编程语言的交互式计算,对于python用户来讲更是一款十分方便的代码编写工具。只需要通过web浏览器就可以很方便地进行数据清洗和转换,数值模拟,统计建模,数据可视化,机器学习等。本文主要介绍Jupyter Notebook结合python的使用。
超哥的杂货铺
2019/12/18
2.2K0
Jupyter notebook使用技巧大全
Python文学化编程 - Jupyter notebook使用和插件拓展
Jupyter notebook (Ipython notebook)是集代码、结果、文档三位一体的文学化可重复程序文档。支持40多种程序语言,Python为原生语言。如果安装了Anaconda,就会
生信宝典
2018/02/05
1.8K0
Python文学化编程 - Jupyter notebook使用和插件拓展
数据分析篇 | 如何配置数据分析利器Jupyter Notebook?
指定启动目录可以减少很多切换目录的麻烦操作,呆鸟以前写过一篇《1 分钟修改 Jupyter 启动文件夹》,已经介绍过,不在此赘述了。
龙哥
2019/12/12
2.5K0
数据分析篇 | 如何配置数据分析利器Jupyter Notebook?
Jupyter Notebook使用笔记
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
6080
Jupyter Notebook的那些高效率操作
苹果系统:Command + ⇧ + P Windows系统:Ctrl + Shift + P
Python进击者
2021/08/27
1.5K0
Jupyter Notebook的那些高效率操作
机器学习新手必看:Jupyter Notebook入门指南
翻译 | 张建军 出品 | 人工智能头条(公众号ID:AI_Thinker) 【人工智能头条导读】Jupyter Notebook 是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化和 Markdown,其用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。目前,数据挖掘领域中最热门的比赛 Kaggle 里的资料都是 Jupyter 格式。对于机器学习新手来说,学会使用 Jupyter Notebook 非常重要。 下面这篇 Jupyter Notebook 入门指
用户1737318
2018/06/05
3.2K0
机器学习第8天:IPyhon与Jupyter notebook
ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python。同时它也是利用Python进行科学计算和交互可视化的一个最佳的平台之一。
K同学啊
2019/01/22
9500
相关推荐
Jupyter Notebook开荒笔记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档