Jupyter Notebook简介
Jupyter Notebook是什么
Jupyter Notebook,是一个可以把代码、图像、注释、公式和做图于一体,实现可读性分析的灵活工具。
- 延伸性好,支持多种编程语言
- 完全免费
- 便于演示
Notebook是用网页访问的,你可以在浏览器中编写和执行程序。并且可以在其它机器上远程调用它,这种环境也屏蔽了不同系统的显示差异。在分享示例代码的时候,也非常方便,完全不用再去考虑格式的问题。
如何安装Jupyter Notebook
很明显,首先需要确保你的电脑上已经安装了Python。
Anaconda
对于新用户而言,最简单的方法是使用Anaconda发行版来安装Python和Jupyter Notebooks。Anaconda会同时安装这两个工具,并且包含大多数常用的数据科学和机器学习的软件包。Anaconda下载。
Pip方法
如果不愿意使用Anaconda,也可以使用pip安装。一般来说,如果你已经安装了最新的Python(下载),那么就已经有了pip了。如果没有,可以下载get-pip.py文件(下载),并在控制台命令窗口下安装pip:
1 | python get-pip.py |
pip安装好之后,继续安装Jupyter:
1 | pip3 install jupyter |
更具体的内容可以参考Jupyter Notebook的官方安装文档。
开始上手
安装后,要运行只需在命令框输入以下命令jupyter-notebook
即可。完成后,Jupyter
notebooks会在你默认浏览器中打开。打开笔记本后,你会看到顶部有三个选项卡:Files、Running
和 Clusters。其中,Files 基本上就是列出当前文件夹中的所有文件,Running
是展示你当前打开的终端和笔记本,Clusters 是由 IPython 并行提供的。
要打开一个新的 Jupyter 笔记本,点击页面右侧的「New」选项。你在这里会看到 4 个需要选择的选项:
- Python3
- Text File
- Folder
- Terminal
我们此时使用的是Python3,
在上图的下拉菜单中,我们主要会用到两种:
- Code:不言而喻,就是我们写Python代码
- Markdown:写文本的地方。可以插入图片、公式、文本,具有一套自己的语法。
下面介绍一些使用Jupyter的小窍门和技巧。
快捷键
通过快捷键可以提高工作效率,譬如最常用的Tab补全,在输入表达式时,只要按下tab键,当前命名空间中任何与已输入的字符串相匹配的变量(对象、函数)就会被找出来。Jupyter Notebooks 提供了两种不同的键盘输入模式——命令和编辑。命令模式是将键盘和笔记本层面的命令绑定起来,并且由带有蓝色左边距的灰色单元边框表示。编辑模式让你可以在活动单元中输入文本(或代码),用绿色单元边框表示。以分别使用 Esc 和 Enter 在命令模式和编辑模式之间切换。
进入命令模式后(此时,当前单元格处于非活动状态格),可以尝试一下快捷键:
- a会在当前单元之上插入一个新的单元,b会在当前单元之下插入一个新单
- 连续按两次d可以删除当前单元格
- 按z撤销被删除的单元格
- Shift + ↑或↓可选择多个单元格。在多选模式下,按住Shift+M合并选中的单元格
- 按f会弹出「查找和替换」菜单
处于编辑模式时(在命令模式时,按Enter会进入编辑模式,当前单元格为活动状态):
- Ctrl + Enter:运行当前单元格
- Alt + Enter:运行当前单元格,并在下面添加一个新的单元格
- Ctrl + Home:到达单元格起始位置
- Ctrl + S:保存
如果要看键盘快捷键完整列表,可以在命令模式下按H或进入[Help>Keyboard Shortcuts」。
变量的完美显示
在Jupyter Notebook中,把变量名称或没有定义输出结果的语句放在Cell的最后一行,无需print语句,Jupyter也会显示变量值。当使用Pandas DataFrame时这一点尤其方便,因为输出结果为整齐的表格。
通过修改内核选项ast_note_interactivity,可以使Jupyter对独占一行的所有变量或语句都自动显示,从而可以看到多个语句的运行结果。一种修改方法是每次使用时,在对当前Notebook设定进行修改:
1 | from IPython.core.interactiveshell import InteractiveShell |
二是进行全局修改,即以后所有笔记本都这样。修改方法是:在Ipython配置文件夹下新建python_config.py文件,并加入以下代码:
1 | c = get_config() |
Windows下的配置文件夹为:C:/Users/UserName/.ipython/profile_default(UserName为你的用户名);Linux下的配置文件夹为Home目录下的.ipython/profile_default/:
轻松连接到文档
在Help菜单下,我们可以找到常见库的在线文档,包括Numpy,Pandas,Scipy和Matplotlib等。另外,在库、方法或变量的前面或后面加上?,即可以打开相关语法的帮助文档。
在变量的前面或后面加上一个问号(?)就可以将有关该对象的一些通用信息展示出来,我们称为对象的内省(object introspection)。
Jupyter Magic命令
运行Python代码
在Jupyter
Notebook中,所有的文件都可以通过%run
命令当作Python程序来运行。假设我们在test.py中放入了一段简单的脚本:
1 | def f(x, y, z): |
只要将文件名传给%run
就可以运行了。
%run
不仅可以运行.py格式的python代码,而且可以运行Jupyter
Notebook文件。
从外部脚本插入代码
用外部脚本替换当前Shell,可以用%load
实现。以上面的test.py为例,在单元格中输入%load test.py
回车,
计时
%%time:Cell内代码的单词运行时间
%%timeit:使用了Python的 timeit 模块,该模块运行某语句100,000次(默认值),然后提供最快的3次的平均值作为结果。
上述只是一点点最常用的Jupyter Notebook的技巧,想要学习了解更多内容,请参考其官方文档。