查看原文
其他

工具&技巧丨能够融合Stata、Python和R的神器——Jupyter Notebook

威武哥 数据Seminar 2021-06-03



Jupyter Notebook入门介绍


不论你是老师还是学生,也不论你是刚开始学 Python的“菜鸟”,还是已经熟练使用Stata和R的“老司机”,对你来说,不断在各种命令行窗口和编辑器里切来切去,或者不断打开各种窗口查看输出结果之类的繁琐操作,一定是家常便饭了。

对于与各种计量、建模方法密不可分的经济学圈而言,随着大数据的分析研究越来越普遍,受制于数据使用量、本地单个 PC 的运算能力,单凭 excel、stata 等软件如今已愈发难以满足日常科研要求了。
这都 9102 年了,我们还要受限于这些既笨重功能又受限的软件吗?难道就没有什么简单直观的办法,让我们更方便地管理和运行代码吗?
当然有了!还是开源免费的,由 Jupyter 团队开发的 Jupyter Notebook 这个神器就是一款非常好用的工具,它一定能拯救你于水深火热之中!



什么是 Jupyter Notebook?

Jupyter Notebook 是一款开放源代码的 Web 应用程序,是个具有交互式 shell 和基于浏览器的笔记本,支持代码、文本和数学表达式。它由 “IPython” 项目发展而来,在其提供的环境中可以记录代码,运行代码,可视化数据并查看结果,它支持40多种编程语言,包括 Python、R 和 Julia,其代码可以导出为 HTML、LaTeX、PDF、图像和视频,或者作为 ”IPyhton“笔记本与其他用户共享。

一个有趣的事实就是:“Jupyter” 是 “Julia、PythonR” 的缩写。


Jupyter Notebook 是一款从执行端到终端数据科学工作流程的便捷工具 ,最大的特性就是可以用于数据清理,统计建模,构建和训练机器学习模型,可视化数据以及许多其他用途,它能让用户将上面说的各种窗口里的东西,全部组合到一个可读性好,易于共享,且对新手友好的文档中。比如可以一边输入代码( “in” 对应的单元格)一边看到结果( “out“ 对应的单元格):
还可以编辑各种解释性文字,并立马看到所作的图形:
基于以上特性,Jupyter Notebook很适合以下一些用途使用:

  学习并尝试运行 Python 代码,观察其效果

  数据处理和转换

  数值模拟分析

  统计建模

  机器学习



那么Jupyter Notebook到底有多火?

微软、谷歌、IBM、Facebook 开发人员基本上都在使用。数据挖掘领域中最热门的比赛 Kaggle 里的资料也都是Jupyter 格式。你甚至可以将 Jupyter Notebook 视为 stata 的下一任接班者,成为众多老师学生处理数据的首选工具。




体验 Jupyter Notebook

在安装之前,我们可以先体验下 Jupyter Notebook 到底为何物。
首先,我们访问 Jupyter Notebook 的官网:http://www.jupyter.org ,页面稍作下滑便可以看到 Jupyter Notebook 的情况介绍:

图1

细心的你也许会发现在Jupyter Notebook上方还有一个 JupyterLab,这个其实是 Jupyter Notebook的下一代产品,我们以后也会对它进行介绍。

在确定 Jupyter Notebook 成为你的真爱之前,你可以直接点击 “Try it in your browser” 里试用,再点击下图显示的 “Try Classic Notebook” :

图2

接着浏览器就会跳转到一个已经搭建好的 Jupyter Notebook 云平台上,如下图所示,在这里你可以直接体验各项功能,而无需下载安装软件,比如我在这里打印出的是 “hello,jupyter notebook” 。

图3



安装 Jupyter Notebook

选项 “Install the Notebook” 意指在电脑上安装部署你自己的 Jupyter Notebook 运行环境。它会一步一步教你如何在自己的电脑上安装 Jupyter Notebook 。具体而言有如下以下两种方法:

  先安装Python环境,然后通过 Python 的 pip 包管理工具安装 Jupyter Notebook 软件包

  通过 Anaconda 管理器,一键安装 Python 环境和 Jupyter Notebook (还带有许多科学计算所需的 Python 库)


强烈推荐第二种,对于初入门Python的人来说,Anaconda 管理器一定是最适合你的。因为它提供了一个一站式的 Python 环境安装管理解决方案,还自带一个很方便的图形界面,让你根据需要为每个项目定制一个运行环境。
下面介绍的也是第二种安装方法。
安装过程超级简单首先在 https://www.anaconda.com/download/ 上下载适合你电脑系统的安装包,对应电脑系统,点击下载即可。

图4

下载完成后,双击安装包,一路 Next 到底(添加环境变量那步请勾选,下图所示,不勾选的话就得手动添加),这里我安装的版本是是windows64位。

图5

安装完成后,你就能在 cmd 界面(或者 Anaconda Powershell Prompt、Anaconda Prompt,如下图)直接输入 “jupyter notebook” 这个命令来启动 Jupyter Notebook 的后台服务了。

图6

当然你可能也发现了,上图 Anaconda3 文件下就有一个 Jupyter Notebook ,直接点击也能启动服务,出现如下界面说明已经成功,在使用过程中,这个界面请保持开启状态

图7

此时 Jupyter Notebook 的后台服务就开始运行,一小会儿之后,系统会自动打开浏览器,显示 Jupyter Notebook 的 web 界面,类似这样:

图8

这个界面是用来管理电脑上的多个 Notebook 文件的。在顶端,有三个不同的标签:

文件(Files):该标签内显示当前工作路径下的文件

运行(Running):该标签内显示当前正在后台运行的Notebook文件

集群(Clusters):用来进行并行计算的


默认显示的是 Files 标签页,其中可以运行的 Notebook 文件(扩展名是.ipynb ),以灰色或绿色的笔记本图标显示,绿色表示这个文件已经被打开。



创建新的 Notebook 文件

操作很简单,直接点击右上角的新建(New)按钮,在弹出的下拉菜单,选择 Python 3 选项:

图9

之后你的浏览器就会自动切换到 Notebook 文件应用的界面:

图10

此时该 Notebook 尚处于未命名状态,点击顶部的标题 “Untitled8” ,就可以重命名这个文件。为了方便观察,这里我把文件名改成  ”1notebook“ ,切换到前面一个浏览器页面,刷新后,刚刚新建的 “1notebook.ipynb” 文件已经显示目录里了。

图11




详细介绍



Notebook 文件界面里,从上到下分别是:

  当前文件的标题,以及最后一次保存的时间

  菜单栏,包括文件操作,各种编辑选项,内核控制,以及帮助等菜单

  工具栏,从左到右分别是:保存文件、新增单元格(Cell),剪切、复制、粘贴,上移下移当前格,以及运行停止等控制按钮。

  最下面一个大空白是 Notebook 文件的主要区域。


Notebook 文件是由一系列单元格(Cell)构成的,目前这个新文件里只有一个空白的格子,右上角显示了当前这个单元格的类型是“代码”。在这种类型的单元格里,你可以直接输入希望运行的 Python 代码。每个格子里都可以放上一行或者多行的代码。

图12

当你按下 "Shift + Enter"组合键,该单元格里的代码将会被运行。

图13

运行之后的输出结果将会显示在单元格内容的正下方,然后输入光标就会跳转到下一个格子,方便你继续写更多的代码。当然,你随时可以点击上面的格子,修改或者添加更多的代码。
此外,单元格的类型可以从“代码”改成“标记”、“标题”、“原生NBconvert”,这样你可以方便地用 markdown 语法写出带格式的注释或说明文本,方便你整理归纳代码,或是在数据分析时描述需要处理的数据信息等。

图14

改了单元格类型之后,前面的 “In [ ]: ”标记不见了。在这个单元格中输入 markdown 标记时,会自动解析成不同大小,不同格式的文字标记。
写完文本后,“运行”这个单元格,于是那些 markdown 格式的记号会被渲染成文本。举个例子,你可以按照以下格式编写文本,看下具体效果。

图15

运行后的效果为:

图16

当你的鼠标指向标题的时候,还会自动出现一个链接,点击之后,你的浏览器地址栏会更新成指向这个标题的链接。
如果你想要改一改 markdown 文本,只需要双击单元格中的文字,则编辑框又会重新出现。



编辑模式和命令模式

单元格有两种不同的激活模式:编辑模式和命令模式。
点击一个单元格(cell)的周边空白处或是输出部分,左边的指示条是蓝色,这就意味着单元格进入了命令模式。

图17

如果你点击代码内容,单元格就进入了编辑模式,左边的指示条相应变成绿色,表示你正在编辑代码内容。

图18

在编辑时,你可以按 ESC 键退出编辑模式,回到命令模式。
这两种模式的区别在于,在编辑模式下,代码编辑框接收你所有的键盘输入,让你对代码/文本进行编辑。而在命令模式下,Jupyter Notebook 页面能响应你的各种键盘快捷命令。
这就引出了这次我将向大家介绍 Jupyter Notebook的下一部分内容,快捷键的使用。



键盘快捷键

快捷键是 Jupyter Notebooks 非常好用的功能之一,Jupyter Notebooks 提供的键盘快捷键非常多,运用的好会为我们节省大量时间。
Jupyter Notebook 提供了两种不同的键盘输入模式:命令和编辑。命令模式将键盘与 Notebook 命令绑定,并由具有蓝色左边框的带有灰色单元格边框来表示。编辑模式允许你将文本(或代码)输入活动单元格,并以绿色单元格边框表示。使用Esc和Enter可以在命令和编辑模式之间跳转
以下是我经常会用到的一些快捷键,相信你在开始使用Notebooks时也会经常用到这些快捷键。强烈建议你阅读这些内容的时候一个一个地尝试一下这些快捷键。
进入命令模式(即没有活动单元格),尝试以下快捷键:

A 键:在选中单元格上方插入新单元格

B 键:在选中单元格下方插入一个单元格

连续按两次 D 键:删除单元格

Z 键:撤消已删除的单元格

Y 键:将当前的选中单元格变成代码单元格

Shift + 向上或向下箭头键:选择多个单元格。

在多选模式下, Shift + M :合并选中的多个单元格

F 键:会弹出 “查找和替换” 菜单


处于编辑模式时(在命令模式下按 Enter 键进入编辑模式),以下快捷键非常好用:

Ctrl + Home跳到某单元格起始处(home键如果在数字键盘的“7”键上,需要先关闭数字键功能)

Ctrl + S:保存并检查你的工作

Ctrl + Enter:运行选中的代码块

Alt + Enter:运行选中的代码块,并在下方添加一个新的单元格

Ctrl + Shift + F:打开命令配置,或Ctrl + Shift + P


要查看整个键盘快捷键列表,请在命令模式下按 H 或转到 Help 菜单栏下的 Keyboard shortcuts。请经常检查这些内容,因为不时就会有新的快捷键被加进来。



导出 Notebook 数据

Jupyter Notebook 提供了几种不同的数据导出方式。菜单栏上选择 File(文件)-> Download as(下载为),在弹出的菜单里看到具体支持的几种导出格式。

图19




小结


至此,我想你对 Jupyter Notebook 已经有了初步的了解,你可以试着新建一个自己的 Notebook 文件,在接下来的 Python 学习、数据处理以及项目编写中用到它。Jupyter Notebook 能很好地兼容许多科学计算、数据分析等领域常用 Python 库,比如 numpy、pandas 以及 matplotlib 等,还能直观易懂地把这些数据显示给你看,我们以往关于 Python 的公众号文章也基本上都是在 jupyter notebook上操作的。之后,我们也会陆续推出在 jupyter notebook上工作的小技巧,以便让大家更好的利用这款非常好用的工具。







►往期推荐

回复【Python】👉简单有用易上手

回复【学术前沿】👉机器学习丨大数据

回复【数据资源】👉公开数据

回复【可视化】👉你心心念念的数据呈现

回复【老姚专栏】👉老姚趣谈值得一看


►一周热文

工具&技巧 | 经济学圈特供 小刘帮你画专业社会网络图(一)

学术前沿 | 想要用好机器学习,这三个坑你千万得留心

特别推荐丨老姚专栏:“读书无用论”有道理吗?从比较的视角看“识别”问题

数据呈现丨装X利器来袭,Python可视化库Bokeh助你俘获小姐姐的心

工具&方法 | 六步法,用Python进行机器学习项目可以如此明了




数据Seminar

这里是大数据、分析技术与学术研究的三叉路口


作者:威武哥(叶武威)审阅:黄胜蓝编辑:青酱





    欢迎扫描👇二维码添加关注    


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存