之前我们介绍了 Jupyter Notebook 这款实用高效的应用程序,在其提供的环境中,可以记录代码、运行代码,完成数据可视化并查看结果。
在我看来,经济学圈的学子们也应该学会利用Python来处理数据、统计建模,毕竟诸如 Excel、Stata 这类软件处理大数据的能力确实捉襟见肘。
当然了,神器之所以为神器,不仅仅是前文说的各种好处,它在具体使用过程中还有不少方便的小技巧,为你提高工作效率、节省时间作出贡献。下面就给大家介绍一些日常使用较为频繁的一些使用技巧。
1.快捷键
勤用快捷键可以节省很多时间!
命令行模式下按H键或者直接在Jupyter在顶部菜单中依次点击:Help > Keyboard Shortcuts 。
![2e045608c9040cacc63dcd0351b44692.png](https://i-blog.csdnimg.cn/blog_migrate/93ebdefc0f2814be67d58e9fc6550e5f.jpeg)
![b03e7969f07a5a0adda010dd5f861b49.png](https://i-blog.csdnimg.cn/blog_migrate/4ab11c4e3cf41eff2a33b78e706c113d.jpeg)
2、多行输出
一般情况下一个 Cell 后只能输出一个结果——
![7226f2b8e475644e81ac1966affbbf8f.png](https://i-blog.csdnimg.cn/blog_migrate/63ca89c240e51428a16ac2e4397c39c9.jpeg)
若想要实现多行输出,请在Cell开头添加以下代码——
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all' # 默认为'last',即输出最后一个结果
于是,上面的输出结果就可变为——
![24bb6a9e78d59eac67e5296aeadc04c5.png](https://i-blog.csdnimg.cn/blog_migrate/60e4296a940947a771e70041b556adbc.jpeg)
3、markdown的用法
Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。而 Jupyter Notebook就可以支持Markdown的书写,这也就是为什么它可以将文字、代码、图形写成一份漂亮的报告。
在输入具体格式前,请将格式先调成标记或markdown。
![d94069423635a0ca2965e69bc1bda710.png](https://i-blog.csdnimg.cn/blog_migrate/e496fa1fe6cdc6c1babe424f518c3e76.jpeg)
然后,你可以尝试输入以下内容——
# 这是一级标题
## 这是二级标题
### 这是三级标题
**这是加粗的文字**<br>
*这是倾斜的文字*<br>
***这是斜体加粗的文字***<br>
~~这是加删除线的文字~~<br>
>这是引用的内
>>这是引用的内容
>>>这是引用的内容
---
----
***
*****
看一下,最后显示出来的是不是这样的
![22487312dee4d90f3ec0eddeb6392f51.png](https://i-blog.csdnimg.cn/blog_migrate/686f1cd67193eb7eac4b66d27c2833de.jpeg)
注意:<br>的意思是换行
更多有关Markdown的语法,可以前往以下网址学习
https://www.jianshu.com/p/191d1e21f7ed
4、LaTex的用法(公式编辑器)
某些时候,你可能需要在笔记里写数学公式,值得说道的是,诚如 Word 这种大家几乎片刻不离手的工具,你也许都会抱怨其编辑数学公式过于麻烦,对于 Jupyter Notebook ,我猜你也会有这方面的困惑。放心,Jupyter Notebook 的 Markdown 单元是支持 LateX 公式编辑的!如果你熟悉 Latex 语法,在这输入数学公式可就是“纵享丝滑”的体验了。
你可以尝试在 Markdown 格式下输入以下内容——
$$3^2+4^2=5^2$$
begin{equation}
1+2+3+dots+(n-1)+n = frac{n(n+1)}{2}
end{equation}
按下Shift + Enter后,公式就打印出来了,是不是很方便!
![81d543bd1d3470adec1bd89bdcb2819f.png](https://i-blog.csdnimg.cn/blog_migrate/70905e1fef44d0aed71c95c98f4e81ec.jpeg)
倘若你不熟悉 Latex 语法,问题也不大,尝试写几个公式你就会了,以下网址可以供你参考学习,保存下来,有需要再查找对应的语法也是很方便的。
http://www.mohu.org/info/symbols/symbols.htmwww.mohu.org CSDN-专业IT技术社区-登录blog.csdn.net5、用 ? 输出帮助提示:快速语法说明
在使用过程中,我们难免会遇到一些我们并不清楚语法格式,查找官方文档是一种解决方案,不过在Jupyter Notebook里内置了快速链接官方文档的用法(类似 Stata 的help命令),在你需要查找的函数(或库名)前敲入?就可浏览快速语法说明。
![67105eff646b0daca47b6f986e9bdd7e.png](https://i-blog.csdnimg.cn/blog_migrate/9d60da11d274b995d448835c044b1d8f.jpeg)
注:该图未截取完全
6、魔法函数
在 Jupyter Notebook 的命令模式下,除了一般的python代码编辑外,它还支持一些其他的编程语言,如R、Stata等等,使用这些语言的前提是需要使用魔法函数(此处还需要在 Jupyter Notebook添加R、Stata的环境变量,感兴趣的可以自行搜索教程)。n魔法函数分为两种,一种是line magics,另外一种cell magics。前者是通过在前面加%,表示只在本行有效。后者是通过在前面加%%,表示magic在整个cell单元有效。
以经济学圈最广泛使用的 Stata 为例,如果我想在 Jupyter Notebook 中写 Stata命令的话,就可以使用%%stata这个魔法函数。
事先请安装两个模块:
pip install ipystata
pip install psutil
然后就可以在 Cell 中一边输入代码一边看到结果了。
![369ae67797b19ce825faee4cb7750e1a.png](https://i-blog.csdnimg.cn/blog_migrate/84f8d9e7a94d58cb6c09e152138149cc.jpeg)
在Cell中输入%lsmagic可以看到所有的 magic 命令。
![c1d61d236c1c426a2e7d2da4cf0fb7de.png](https://i-blog.csdnimg.cn/blog_migrate/14c6a6c8f7b766c96fd21182e40aec09.jpeg)
一些常用的魔法函数命令的示例:
https://blog.csdn.net/u011213419/article/details/81299282
7、抑制末尾函数输出
当我们绘制图像的时候,有时图像上方会出现一个函数的输出,比如下面这个——
![f915287cf748965bcf02a2703c43190f.png](https://i-blog.csdnimg.cn/blog_migrate/c9aa7a3f8b1f6ba05d3fca26c83109db.jpeg)
如果不想要这行输出,可以直接在代码末加上一个分号。
from numpy.random import randn
plt.plot(randn(30).cumsum(), 'ko--');
![ad27246707a8a942756bae96957de463.png](https://i-blog.csdnimg.cn/blog_migrate/973388607b5c66cd0a5254902202f274.jpeg)
8、执行Shell代码
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁,它既是一种命令语言,又是一种程序设计语言,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。在 Jupyter Notebook 中执行 shell 命令非常容易,直接在shell命令前加一个!即可。
!ls # 列出当前目录下的文件,windows系统请用!dir这个命令
常用的 Shell 命令:
https://www.jianshu.com/p/855e475d3cb8www.jianshu.com9、多光标操作
Jupyter Notebook支持多光标操作,与 Sublime Text 类似。按住 Alt 拖拽鼠标选定操作区域后,再按一下右方向键→即可。点击任何位置返回单光标操作。
![e0107d84b199c682dc9e1a2a25b85600.png](https://i-blog.csdnimg.cn/blog_migrate/35ecfaaf93153cdcfbca0cc52fc970b1.jpeg)
图片来源于网络(该图为动图,详见文末原文公众号)
10、分享文档
使用 Jupyter Notebook的一个好处是可以把.ipynb格式的文件另存为其他格式,再分享其他人。
![0cdc1bd8aef8d247cbbd2470121a561e.png](https://i-blog.csdnimg.cn/blog_migrate/e7d5dae9a9cc6c0824f7dc22396aa206.jpeg)
11、保存记录点
Jupyter Notebook 还有一个很酷的功能:记录点。你可以为当前的 notebook 文件创建一个记录点,保存当前文件的所有状态。创建记录点之后,你可以随时返回到当前的状态,撤销这期间做出的任何修改。
要创建一个新的记录点,你只需要在菜单栏上选择 File(文件)-> Save and Checkpoint(保存记录点)即可。点完之后,你就会在标题旁看到 Checkpoint 保存的提示:
如果你想要返回到之前的 Checkpoint,你只需要在菜单栏上选择 File(文件)-> Revert to Checkpoint(返回到记录点),并点击对应的记录点的时间戳即可。
12、更清晰的图片
熟悉 Python 和在 Jupyter Notebook 的人,用matplotlib画的图放大后会略显“渣像素”。实际上,只要多加一行配置,就能够让 Matplotlib 在 Jupyter Notebook 上面输出高清矢量图了:
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format = 'svg'
上面的最后一行指定了输出的格式是 svg,这样浏览器就能为你渲染矢量图了。下面上两张比较图:
![7ba49e78431c423013916595f1043722.png](https://i-blog.csdnimg.cn/blog_migrate/33fd1c751d36baedc9b67e624ade127b.jpeg)
![fbcc97060780854be0816e865d13c214.png](https://i-blog.csdnimg.cn/blog_migrate/48b08fa60d6021dc738d055886d1125a.jpeg)
注:以上两图来源于知乎(上面两图为动图,详见文末公众号原文)
以上给大家讲述了 Jupyter Notebook 十二个小技巧。当然,这款神器的强大不仅仅是这些功能,还有很多其他功能,大家可以在不断实践中探索,相信大家越用会越喜欢的。
本文首发于公众号 数据Seminar
工具&方法丨经济学圈特供 使用Jupyter Notebook的12个小技巧mp.weixin.qq.com![2649ce791e755157ef4d78fe008bb02f.png](https://i-blog.csdnimg.cn/blog_migrate/49caac973c14c4ae7727ac8e9aa9bf00.jpeg)
更多精彩内容请关注公众号数据Seminar
![f2f8ab20618bf28bbbfcf27f31686fce.png](https://i-blog.csdnimg.cn/blog_migrate/948e417ee513d7cc1628951ad66b84de.jpeg)