安利10个Jupyter Notebook使用技巧
如果你用Python做开发,那么首选Pycharm;但是如果你想用Python做数据分析、数据挖掘,以及火热的机器学习和人工智能项目,Jupyter Notebook注定是首选,因为Jupyter Notebook一直都是做数据科学的最佳利器。
即使现在出来了Jupyter Lab
,但也是基于Jupyter Notebook
的基础上进行扩展的。本文将介绍Jupyter Notebook
的插件安装和使用技巧
安装和启动Jupyter Notebook
安装Jupyter Notebook
笔者自己的jupyter notebook是通过anaconda自动安装的,非常建议使用anaconda来安装包含Jupyter notebook在内的各种Python工具和包,能够很好地解决各种环境问题。
windows系统中安装Jupyter notebook可以参看这篇知乎中的文章:https://zhuanlan.zhihu.com/p/44357064,讲解的非常详细,重要的一步是在安装好anaconda之后:
代码语言:javascript复制conda install jupyter notebook # 安装
# pip安装并激活
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
启动Jupyter notebook
在我们想启动的目录下直接输入如下命令(macOS系统):
代码语言:javascript复制root:~ peter$ jupyter notebook # 输入jupyter notebook,立马启动
如果是在Windows
系统下面,我们现在D盘的/Download
目录下启动:
1、现在搜索栏中输入CMD
2、进入该目录下的命令行中,再输入jupyter notebook
,便可启动
安装和启动Jupyter notebook的教程可以在网上自行搜索,并不是难题,也不是本文的重点。
主题使用
安装不同主题
在jupyter notebook中安装并使用不同的主题
代码语言:javascript复制# 安装
pip install jupyterthemes
pip install --upgrade jupyterthemes
切换不同主题
代码语言:javascript复制# 查看所有颜色主题 --list
jt -l
# 选择主题 --theme
jt -t 主题名称
# 恢复默认主题 --recover
jt -r
安装和使用插件
安装插件
为了更好的使用Jupyter notebook
,我们必须先安装好插件。
# 安装Jupyter的配置器
pip install jupyter_nbextensions_configurator
# 启动配置器
jupyter nbextensions_configurator enable --user
使用插件
在安装好插件之后,我们启动Jupyter Notebook中,便可以看到安装好的扩展程序:
使用技巧
使用Markdown
在Jupyter Notebook中是可以直接使用Markdown的:
1、在编辑框中操作:鼠标箭头放在编辑框左边
左边的变成蓝色,按下快捷键M(键盘上的),就变成了Markdown格式
2、通过工具栏进行设置:
每个cell中默认是代码的格式
我们改变cell的格式:选择标记
使用Latex公式
既然Jupyter notebook能够使用Markdown,那么我们可以是Jupyter Notebook中编辑LaTex公式,举一个例子:在Markdown格式下的cell中输入如下内容:
代码语言:javascript复制$$ P(A mid B) = frac{P(B mid A) , P(A)}{P(B)} $$
便会生成相应的LaTeX公式:
快速生成单元格
下图中显示没有第3个单元格,我们将光标放在第二个单元格的左边
当编辑栏变成蓝色:按下键盘上的A
键,在上面生成一个新的单元格,如果是按下B
键,则在下面生成一个新的空白单元格:
生成侧边栏目录
前面已经提过,在Jupyter Notebook中是可以使用Markdown的,Markd本身又是有目录层级的,所以在Jupyter Notebook中也可以使用目录层级。
在上面的案例中,目录层级是从三级开始的:
代码语言:javascript复制### 导入库
### 使用案例
#### 基础案例
#### 改变位置和颜色
#### 图例滚动
#### 饼图
##### 环状饼图
##### 多饼图
##### 玫瑰图
##### 内嵌饼图
如果我们的目录层级有更新操作,可以使用这个按钮更新:
如果想改变目录的位置,想移动到右边,可以直接拖动:
将光标放置到这个高度,呈现出十字架,直接向右拖:
改变之后的样子:同时还可以发现右上角有了一个隐藏按钮
当我们设置了目录之后,我们点击任何一个目录层级,便会直接跳到相应的位置。
生成文章目录
如果把整个ipynb文件看成是一篇文章,我们还可以生成整个文章的目录:点击图中按钮
将Add notebookToCcell
打钩即可,还可以自己拟定标题
生成文章目录的样子,同样的点击某个目录便会相应地发生跳转:
高亮显示
如果我们觉得目录中某层级的标题比较重要,自己想高亮显示,可以如下操作:
假设我们想高亮显示多饼图和内嵌饼图
:
添加高亮之后的效果图:
输出多个变量
在notebook中默认只会输出最后一个变量的结果,比如下面的例子中变量a就没有输出
通过设置InteractiveShell.astnodeinteractivity
参数为all
,就可以让所有的变量或者声明都能显示出来,添加两行代码便可实现输出多个变量的效果:
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'
代码序号
有时候在一个单元格中会写太多的代码,我们可以给代码前面设置标号,这样如果有报错能够快速地定位问题:
通过快捷键能够设置序号:
拼写检查Spellchecker
这是检查拼写错误的一个扩展,能够快速的发现我们拼写中的错误。
需要主要的是这个插件是在Markdown格式下作用的:
本意表达的是:This is wrong question
变量检查Variable Inspector
这是一个检查变量的插件,可以查看变量名、类型、大小、形状和值等。
其中变量的 shape (形状)这个参数在进行矩阵运算时,十分实用,并且这个窗口还可以调节大小,排序等功能,十分推荐
魔法命令
下面?记录的是IPython的几个常用的魔法命令:
魔法命令 | 作用 |
---|---|
%pwd | 查看当前的工作目录 |
� | 更改当前的工作目录 |
%ls | 查看目录文件列表 |
%writefile | 写入文件 |
%run | 运行脚本;%run可以从.py文件中执行python代码,也可以指定ipynb文件 |
%whos | 查看当前变量 |
%reset | 清楚当前变量 |
%timeit | 测试单行代码运行时间 |
Jupyter Notebook两种模式
在Jupyter Notebook中有两种模式:
- 命令模式:键盘输入运行程序命令,此时单元格是蓝色的
- 编辑模式:允许你向单元格中输入代码或者文本内容,此时单元格是绿色的
命令模式
Esc将带你进入命令模式,你可以使用箭头键在笔记本上导航,命令行模式下的操作:
- 键盘上的A在当前单元格上方插入一个新单元格,B在下面插入一个新单元格。
- 键盘上的M将当前单元格更改为Markdown格式,Y将其更改回代码格式
- D D:按键两次,删除当前的单元格
- Shift-Enter : 运行本单元,选中下个单元
- Ctrl-Enter : 运行本单元
- Alt-Enter : 运行本单元,在其下插入新单元
- Shift-K : 扩大选中上方单元
- Shift-J : 扩大选中下方单元
编辑模式
键盘上的Enter键会从命令模式转换回给定单元格的编辑模式。
Shift Tab
:显示刚刚在代码单元中输入的对象的文档字符串(文档)Ctrl Shift -
:将当前单元格从光标所在的位置分成两部分- Esc F:查找并替换代码,而不是输出
- Esc O:切换单元格输出
- Shift J或Shift Down:选择向下的下一个cell
- Shift K或Shift Up:选择向上cell
- Shift M:合并多个单元格
- Ctrl-M : 进入命令模式
- Shift-Enter : 运行本单元,选中下一单元
- Ctrl-Enter : 运行本单元
- Alt-Enter : 运行本单元,在下面插入一单元