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