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