2.3 Jupyter Notebook 快速入门

上一节已经讲解了相关工具的安装步骤,其中包括 Jupyter Notebook,本书后续涉及到的 Python 代码都是在该应用环境下运行的,所以本节在讲解 Python 基础知识之前,会先介绍 Jupyter Notebook 的界面、操作等基本内容。

2.3.1 启动 Jupyter Notebook 主界面

Jupyter Notebook 安装完毕后,打开命令提示符工具输入命令 “jupyter notebook” 并运行,即可在本地端口运行 Jupyter Notebook 服务并自动打开浏览器,如图 @todo图编号 所示,由以下几个部分组成 @todo 补充 Jupyter Notebook 主界面截图 2.3.1-1 (1)文件列表选择区域:点击“Files ”显示全部文件列表;点击“Running”显示正在运行的 Notebook;点击“Clusters”设置并行计算。 (2)文件批量处理区域:有全部文件夹(Folders)、全部 Notebook(All Notebooks)、所有在运行 Notebook(Running)、所有文件(Files)四个选项。 @todo 补充 截图 2.3.1-2 (3)文件列表:显示所有 Notebook 文件和文件夹。 (4)上传、新建文件:点击 Upload 按钮可以上传本地文件;点击 New 按钮建立新文件,包括文本文件、文件夹、Python文件等。 @todo 补充 截图 2.3.1-3

2.3.2 创建一个 Python Notebook

点击主界面右上角 New 按钮,选择 Python2,创建一本新的 Notebook,新的 Notebook 会自动打开,Notebook 界面如图 @todo图编号 所示,由以下几个部分组成: @todo 补充 Notebook 界面截图 2.3.2-1 (1)Notebook 名称:新建的 Notebook 名称默认为“Untitled",直接点击名称即可重新命名。 @todo 补充命名图片 2.3.2-2 (2)主工具栏:包含 File、Edit、View、Insert、Cell、Kernel、Help 七个按钮,提供保存、导出、重载以及重启内核等选项,如果想要详细了解 Notebook 或相关库的具体情况,可以使用 help 帮助菜单。 (3)常用工具栏:从左至右依次为保存、下方插入空单元格(cell)、剪切选中的单元格、复制选中的单元格、粘贴单元格、上移单元格、下移单元格、运行选中的单元格并移至下一个单元格、中断运行、重新启动、单元格格式选择(代码、markdown、标题等)、打开命令面板、显示工具栏更新。 (4)Notebook 的代码单元格:是 Notebook 的主要区域,使用者在单元格编辑指定格式的内容并运行输出相应的结果,每个 Notebook 由多个代码单元格构成,而每个单元格又可以有不同的用途。 (5)状态栏:显示 Notebook 类型及运行状态。

2.3.3 上传文件

Jupyter Notebook 提供了非常便捷的文件上传功能,利用该功能使用者可以将分析过程中会使用到的数据上传到 Notebook 文件列表,在使用时直接调用即可。

点击界面右上角的 Upload 按钮,即可浏览并选择需要上传的文件 @补充上传文件操作截图 2.3.3-1

确认上传后即可在文件列表看到已经上传的文件 @todo补充文件列表截图 2.3.3-2

2.3.4 Jupyter Notebook 环境下 Python 的基本操作

本书在 1.3.1 部分已经对 Jupyter Notebook 做了介绍,Jupyter Notebook 支持多种程序语言,其中包括 Python 。简单来讲,创建一个 Python 格式的 Notebook ,就是为 Python 代码的运行提供了一个更加方便、 友好的交互式环境,这种环境不会影响 Python 语言的语法及支持的数据结构等。下面用一些例子为读者介绍 Jupyter Notebook 以及 Jupyter Notebook 环境下 Python 的一些常用基本操作。

2.3.4.1 输入并执行代码

首先,选中待编辑的单元格,此时单元格周围会出现框线表示该单元格被选中;其次,在常用工具栏单元格格式选项中选择“code"(一般默认单元格格式即为“code”),设置单元格输入格式为 Python 代码,此时选中的单元格前端会显示“ In [ ] ”,其中,“In”表示输入,运行单元格后“[ ]”中会显示数字。表示该单元格是第几个运行的单元格。

@todo 插入单元格截图 2.3.4.1-1

将光标移至单元格输入框内并单击,就可以编辑 Python 代码了。利用 Python 可以实现很多复杂问题,下面先从几个简单例子出发感受 Python 的魅力。

(1)整数运算

Python 可被用作计算器,支持 4 种基本算术运算,即:+(加)、 -(减)、 (乘)、/(除),此外,还可以使用 * 和 % 来分别表示乘方和求余。

例 1 简单加法计算 在单元格中输入“3+2”,点击运行按钮或者直接使用快捷键 “Shift+Enter”运行程序,即可在单元格下方得到计算结果。

@todo 插入截图 2.3.4.1-2

可以看到,在输出结果前显示 “Out [1]” ,其中“Out”表示输出,“[ ]”内的数字表示是第几个输出结果。

例 2 乘方运算 运行后,会在已有单元格下方自动生成新的单元格;快捷键“Ctrl+Enter”运行程序则不会在下方自动生成新的单元格,使用者也可以点击常用工具栏中的“下方插入空单元格”按钮添加。

@todo 插入截图 2.3.4.1-3

在新的单元格输入算式并运行得到计算结果

@todo 插入截图 2.3.4.1-4

可以看到,与其他大多数编程语言不同,Python 对整数的长度没有限制,使用者可以执行数十位甚 至数百、数千位的整数运算。

@todo 插入截图 2.3.4.1-5

(2)语句

例 1 和例 2 给出的都是 Python 表达式,下面例 3 和例 4 给出的是 Python 语句,即给计算机指令做某件事情。

例 3 赋值语句 Python 可以给变量赋值并对已赋值变量进行操作。如将数值 8 赋值给变量 a:


In [4]: a=8

使用变量 a 进行计算


In [5]: a+5
Out[5]: 13

例 4 print 语句 print 语句可以用于将字符串打印到屏幕:


In [6]:print " Text Mining with Python"
       Text Mining with Python

2.3.4.2 增加其他类型单元格

正像 notebook 的名称一样使用者可以以笔记的形式记录下编码的思维过程,因为除了代码外,Jupyter Notebook 提供了其他不同的单元格格式来丰富、美化 Notebook ,如 Markdown, 选定待编辑单元格后,在常用工具栏单元格格式选项中选择“Markdown",在单元格中按照 markdown 语法输入需要的内容,对 Notebook 进行编辑排版,如输入标题“我的notebook”

@todo 插入截图 2.3.4.1-6

运行后可以得到相应格式的输出

@todo 插入截图 2.3.4.1-7

2.3.4.3 导入模块

模块是 Pyhon 最高级别的程序组织单元,它将程序代码和数据封装起来以便重复使用。简单来讲,将写好的一段代码进行分组,分别放到不同的文件中,这样的每一个文件都是一个模块,包含了一系列相关的函数和变量,要要使用模块需要先导入,导入后模块内的函数才可以被调用。Python 自带了很多实用模块,如 math、cmath 等,只要安装了 Python ,都可以导入适当地模块来使用,这组模块称为标准库(standard library)。在 Python 中导入模块用 import,查看模块的所有函数用dir(模块),调用模块里的函数用“模块.函数”。

例 5 导入 math 模块

比如要做乘方计算,需要调用 math 模块的 pow 函数。首先导入 math 模块:


In [7]:import math

列出 math 模块所有函数


In [8]:dir(math)
Out[8]:['__doc__','__file__','__name__','__package__','acos','acosh','asin','asinh','atan',
         'atan2','atanh','ceil','copysign','cos','cosh','degrees','e','erf','erfc','exp','expm1','fabs','factorial','floor','fmod','frexp','fsum','gamma','hypot','isinf','isnan','ldexp','lgamma','log','log10','log1p','modf','pi','pow','radians','sin','sinh','sqrt','tan','tanh','trunc']

调用 pow 函数


In [9]:math.pow(2,3)
Out[9]:8.0

模块 math 包含的函数及参数格式可以通过 help 函数查看:


In [10]:help(math)

Help on module math:

NAME
    math

FILE
    /home/datartisan/.pyenv/versions/2.7.12/envs/datacademy-lesson-27/lib/python2.7/lib-dynload/math.so

MODULE DOCS
    http://docs.python.org/library/math

DESCRIPTION
    This module is always available.  It provides access to the
    mathematical functions defined by the C standard.

FUNCTIONS
    acos(...)
        acos(x)

        Return the arc cosine (measured in radians) of x.
    ……
DATA
    e = 2.718281828459045
    pi = 3.141592653589793

如果只需要用模块中的某个函数,可以通过“ from 模块 import 函数 ”实现,使用这种方式导入的函数可以直接使用,而不用写模块名称。

例 6 利用 math 模块下函数进行计算


In [10]:sqrt(9)
       NameErrorTraceback (most recent call last)
       <ipython-input-27-c836dfef5db4> in <module>()
       ----> 1 sqrt(9)

NameError: name 'sqrt' is not defined

In [11]:from math import sqrt
In [12]:sqrt(9)
Out[12]:3.0

如果想一次性引入 math 中所有的东西,可以通过“ from math import * ”实现

2.3.4.4 注释

为了增加程序的可读性和可维护性,有必要在编写代码时添加相应的注释。Python 中用符号“#”标记注释,注释部分的内容不会被 Python 解释。注释的位置没有限制,可以从行首开始,也可以在空白或代码之后,但是不出现在字符串中,字符串中的“#”仅表示 # 。

例 7 添加注释


In [13]:#计算0.5的sin值
       math.sin(0.5)
Out[13]:0.479425538604203

2.3.4.4 一些快捷操作

在使用 Jupyter Notebook 过程中,掌握一些快捷操作可以大大提升工作效率,下面列举一些常用的快捷操作:

(1)调出命令面板:Ctrl + Shift + P (2)同时选择多个命令单元格: 向下选择 Shift + J 或 Shift + Down 向上选择 Shift + K 或 Shift + Up (3)合并命令单元格:Shift + M

results matching ""

    No results matching ""