相信在悉尼大学学习data science的同学们,每天都会用到 Jupyter notebook,如何熟练的运用jupyter notebook 呢?学姐现在告诉你几个小技巧来提高你懂的熟练度。
1, 你可以从Jupyter notebook 运行 shell 命令。
我们平时都会用Jupyter 运行python代码,并且使用markdown创建文档,其实Jupyter也能直接在code页面运行shell命令,而不用启动terminal。
你只需要在一个code页面里面输入一个!,后面再加上你在terminal里面输入的shell命令就可以执行啦!
2, Jupyter 也可以执行magic command。
用code页面执行shell command的时候你有可能会发现有些命令不能同步执行,像cd这个命令,你就需要加上
!pwd
!cd <路径>
!pwd
这样是因为这些shall 指令是在一个临时的子shell里执行的
这时候使用magic command就会更加方便简洁
(Magic command 是用来帮助你运行和分析notebook中特殊命令的代码,一般以%开头,多行代码中以%%开头)
Magic command 有如图中的样例
3, 你可以运用快捷键在jupyter中快速导航
就像PS一样,jupyter中也有许多快捷键让你提高速度。
你可以用“Enter”+“Esc”在命令和编辑模式之间切换。
当处于命令模式时,可以使用以下快捷键:
a在当前单元格上方添加新单元格,
b在当前单元格下添加新单元格,
d+d(按了两次d)删除当前单元格,
m将单元格从代码改为降价,
y将单元格从降价改为代码,
上下箭头使用箭头更改当前单元格,
shift+enter(同时按下)在单元格中运行代码。
4,可以用分号禁止final函数的输出。
通常jupyter 会自动呈现最后一个函数的输出。
但是在渲染图形的时候,这就相当不方便了
如下图,我们绘制的正弦函数上面会出现像红框里面一样我们不需要的内容
我们可以通过在代码块的最后一行添加分号来抑制它。
如:plt.plot(t, s);
5、Jupyter notebook 有内置的自动完成功能!
很多软件都有这个功能,也许有些同学早就知道这个功能了,但是对于那些不知道的朋友来说,这将是一个非常有用的小技巧。怎么应用它呢?首先输入你要写的代码开头,然后按“Tab”键就可以查看自动完成的建议啦!
6、你可以将jupyter notebook 导出为HTML文件
一般来说我们保存的jupyter notebook文件都是.ipynb 格式的文件。这种格式在我们交作业或者一起学习data science的同学之间传输是很方便的。但是如果你以后参加工作,想要把文件发给非技术人员,这种格式也许就很不方便了。
为此,jupyter 提供了HTML格式的文件。
很简单,只要如下图一样点击File-> Downloas as -> .HTML就行啦。
7、你还可以用jupyter notebook 做一个演示文稿。
一般我们做presentation的时候都会用ppt来做图示叭!虽然ppt也很好用,但是做技术性的presentation有更好的方法哦!那就是用jupyter!
用Jupyter 生成的 slides,就可以用你的代码来展示啦。你可以将你的代码生成slides,然后决定哪些地方展示,哪些地方跳过。
如下图:点击工具栏上方的View键-> Cell Toolbar -> Slideshow
如图:你可以选择代码块生成slide、fragment、note或者skip去跳过它
当你做好你的每篇slide以后,你可以在terminal里输入如下代码去呈现它:
jupyter nbconvert <notebook name> --to slides --post serve
你也可以在jupter里输入下面命令去执行(如技巧1所说)
!jupyter nbconvert <notebook name> --to slides --post serve
效果如图:
8、你可以在jupyter里面输入LaTeX格式的公式
比如:如果你想让你的公式和文字并排,你可以用单个$,格式如下:
This is an example of $sqrt{2}$
效果如下图;
如果公式想自占一行你可以用$$,格式如下
$$sqrt{2}$$
效果如图
更复杂的模式
$$sum_{i=1}^{n}i=frac{n(n+1)}{2}$$
效果如图
9、你可以安装各种扩展程序来增强jupyter的功能。
如果你觉得jupyter的功能不够你用的话你还可以安装一些扩展进程!
如:
Spellchecker,
Table of contents,
Collapsible headings,
Autopep8,
ExecuteTime,
Toggle all line numbers,