购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 Jupyter Notebook极速入门

本节主要介绍什么是Jupyter Notebook、如何快速安装和启动Jupyter Notebook以及Jupyter Notebook的基本使用方法。

2.1.1 什么是Jupyter Notebook

Jupyter Notebook(以下简称Jupyter),简单来说,就是一种模块化的Python编辑器(现在也支持R等多种语言),即在Jupyter中可以把大段的Python代码进行碎片化处理,每一段分开来运行。在软件开发中,Jupyter可能显得没那么好用,这个模块化的功能会破坏掉程序的整体性。但是,当我们在做数据处理、分析、建模、观察结果等的时候,Jupyter模块化的功能不仅能提供更好的视觉体验,更能大大缩短运行代码及调试代码的时间,同时还能让整个处理和建模的过程变得异常清晰。

熟悉Python的读者一定对Python的交互式功能感触颇深。当工作后有一次笔者和一个做嵌入式的好友聊起Python时,好友表示他被Python的易读性和交互性所震惊了。做嵌入式用的C和C++每次都要经过编译,而且每一行的代码没有办法单独运行。与之不同的是,Python的每一行代码都像是人类交流所用的文字一样,简单易懂且有交互性。所谓交互性,就是有问有答,我们输入一句,它便返回一句的结果。但在一般的IDE(如PyCharm)中,Python的这一交互功能被极大地限制了,通常我们会将程序整段编写之后一起运行。而在Jupyter中,我们可以每写几行或者每完成一个小的模块便运行一次。也许对于软件工程师们来说,这个功能并没有多大的吸引力,但是对于身为机器学习工程师的我们来说,这个功能可以说是我们的大救星。

2.1.2 如何安装和启动Jupyter Notebook

安装Jupyter Notebook的前提是安装了Python(建议Python 3.6版本以上)。关于Python的安装也非常简单(注意,一定要选择Python3版本),可以将本书附赠的Python软件资源包复制到硬盘上并解压缩,双击Python-3.6.4-md64.exe文件,它会自动安装好Python 3.6.4版本,安装的时候注意要在安装界面上选择“Add Python 3.6 to PATH”(添加环境变量)复选框,然后再选择中间的“Install Now”选项,如图2-1所示。

图2-1

等Python软件安装好之后,再双击install.bat文件,系统会自动安装好本书需要用到的一些依赖包,如大名鼎鼎的scikit-learn机器学习工具包、实现人脸识别dlib开源库等。

只要有一门编程语言基础,如C、VB,我们三天之内就能掌握Python的使用技能,因为Python比其他编程语言更加简单、易学。在掌握Python基本语法之后,我们需要再花一点时间去学习处理数据与操作数据的方法,熟悉一下Pandas、NumPy和Matplotlib这些工具包的使用方法。Pandas工具包可以处理数据帧,数据帧类似于Excel文件当中的信息表,有横行和纵列,这种数据就是所谓的结构化数据。NumPy工具包可以基于数据进行数值运算。Matplotlib工具包可以制图,实现数据可视化。

在学习使用过程中,如果需要安装相应的工具包,推荐使用pip程序来安装。举例来说,如果要安装Matplotlib工具包,则进入到cmd窗口,执行python -m pip install matplotlib命令进行自动安装,系统会自动下载安装包,如图2-2所示。

Jupyter的安装命令是pip3 install jupyter。当一台计算机同时有多个版本的Python的时候,用pip3就可以自动识别用Python3来安装库,这样就避免了和Python2发生冲突。如果计算机上只安装了Python3,那么不管是用pip还是pip3都是一样的。注意,老版本的pip在安装Jupyter Notebook过程中可能面临依赖项无法同步安装的问题,因此强烈建议先把pip升级到最新版本。

启动命令jupyter notebook,执行命令之后,在终端中将会显示一系列Notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。

图2-2

启动过程中终端显示内容类似如图2-3所示的内容。

图2-3

注意 之后在Jupyter Notebook进行的所有操作,都必须保持终端处于打开状态,因为一旦关闭终端,就会断开与本地服务器的连接,我们就将无法在Jupyter Notebook中进行操作。

浏览器地址栏中将会默认显示http://localhost:8888,如图2-4所示。其中,localhost指的是本机,8888则是端口号。启动界面显示了当前文件目录信息。Jupyter保存文件的根目录,对应操作系统中登录用户的主目录。

图2-4

2.1.3 Jupyter Notebook的基本使用

在打开的界面上,依次单击New→Python3来创建一个Python3的.ipynb文件。然后单击右上角的new按钮,选择Python 3,如图2-5所示。

图2-5

选择Python 3以后将打开一个新的界面,这里就是编写代码的地方了。首先,单击左上角的文件名,进行文件名重命名,如图2-6所示。

图2-6

重命名后进入代码编辑页面,在里面写一行Python代码,比如输入“a=1”后按Enter键,Jupyter换行但没有开启新的命令行单元格,继续输入“b=5”后单击“运行”,或者按Shift+Enter快捷键,运行单元格中的命令,因为此时是赋值命令所以没有输出结果。输入变量名后按Shift+Enter快捷键即可看到交互的Python命令行中单元格的运行结果,这里输入“a+b”后运行,看到实时结果为6,如图2-7所示。这就体现出交互式Python命令行编程的优势,即不用编写打印输出命令print就可以实时观察运行情况。

图2-7

在图2-8中,In[6]中的数字“6”表示执行的次数,这个次数也可以理解为在这个工作区里执行代码的顺序。因为每个代码块里面的内容是可以相互调用的,可能在后面定义的一个方法也是可以在前面来使用的。这里一定要注意,如果两个代码块里面的内容要进行调用,比如B块要调用A块里面的代码,A块里面的代码在写完以后,必须先执行,然后才能在B块中调用,否则会报错。

Jupyter不仅可以写代码,还可以用Markdown语法写注释说明文档。先选择代码,然后切换到Markdown以后,就可以在里面写一些文档注释。写完注释后,同样使用快捷键Shift + Enter运行代码,就可以达到如图2-9所示的效果。

图2-8

图2-9

Jupyter插入图片的方法是把要插入文档的图片(如airplane.jpg)放到程序文件的相同目录下,通过Markdown格式插入图片,如输入“![jupyter](airplane.jpg)”,运行单元格,即可显示该图片。

如果需要将本地的Python文件(.py文件)载入到Jupyter的一个单元格中,比如当前路径下有一个test_demo.py文件,需要将其载入到Jupyter的一个单元格中。

test_demo.py的Python源文件内容如下:

    import  os
    print(os.getcwd())#获取当前工作目录路径

在需要导入该段代码的单元格中输入“%load test_demo.py”,按快捷键Shift+Enter运行该单元格,结果如图2-10所示。可以看到运行后,%load test_demo.py被自动加入了注释符号#,test_demo.py中的所有代码都被载入到了当前的单元格中。

图2-10

利用Jupyter的单元格也是可以运行Python文件的,即在单元格中运行如下代码:

    %run file.py

这里的file.py是要运行的Python程序的文件名,运行结果会显示在该单元格中,如图2-11所示。

图2-11

Jupyter的.ipynb文件也可以转换为.py文件,直接在Jupyter Notebook中的File菜单栏中依次单击Download as→Python(.py)即可,如图2-12所示。

图2-12 ZsA8cunPrInE4JdhrpPYXdmjj2zPScoW9Maobt3geRXvr+FfxCmY1ISAc5tqxJ1i

点击中间区域
呼出菜单
上一章
目录
下一章
×