![从Excel到Python数据分析:Pandas、xlwings、openpyxl、Matplotlib的交互与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/969/52841969/b_52841969.jpg)
1.3 Jupyter Notebook
Jupyter脱胎于IPython(Interactive Python,交互式Python),是Julia、Python及R语言的组合,Jupyter不仅支持Python,目前它所能支持运行的编程语言已达40多种。Jupyter具备“所见即所得,语法高亮、Tab补全,支持Markdown、数学公式编写,允许导出为HTML和PDF”等优点。
1.3.1 操作界面
1.新建笔记本
在Jupyter Notebook主界面的右上角,选择New→Python 3(ipykernel),用于新建Notebook(笔记本),如图1-17所示。
新建的Notebook(笔记本)如图1-18所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P27_1272.jpg?sign=1739251384-IB9hsWX4g1SYIcsC0m5lyvQ0PYyeeOTs-0-1720d65be39f8ea45d0dea9e8a16d4dd)
图1-17 新建笔记本(1)
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P27_1275.jpg?sign=1739251384-XXEaCrNVafa5Ti39WHzdCs8FNzBsgr7T-0-2a715635d3a0e4bf8840ee419eb382b4)
图1-18 新建笔记本(2)
图1-18中,Untitled1是Notebook的名称,可以通过双击后进行更改。
2.界面构成
Notebook的界面主要由标题栏、菜单栏、工具栏、单元格组成,如图1-19所示。
3.菜单栏
菜单栏由File、Edit、View、Insert、Cell、Kernel、Widgets、Help这9个菜单组成。File菜单主要用于文件的保存与新建,Edit菜单主要用于编辑单元格,View菜单主要用于标题栏、工具栏、单元格相关项的显示与隐藏,Insert主要用于插入单元格,Cell主要用于运行代码单元格,Kernel主要用于运行Python代码,Widgets主要用于增强交互功能,Help主要用于帮助文档的链接。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P28_1281.jpg?sign=1739251384-zveVdSbByCglW5usEyvR0zkVxSVtEXXX-0-7ad26cdb62782e92f63670d15e05309e)
图1-19 Jupyter Notebook界面说明
4.工具栏
Jupyter Notebook中常用工具栏及说明,如图1-20所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P28_1285.jpg?sign=1739251384-6BO1k0mwrBpICAl4TUWIwWc5Zab8iHMn-0-b014c31f7ee424907ffea554c9fb5662)
图1-20 Jupyter Notebook中常用工具栏及说明
5.代码单元格
Notebook文档是由一系列单元(Cell)构成的,主要有两种形式的单元。
(1)代码单元。用于编写代码,按Shift+Enter键运行代码,其结果显示在本单元下方。
(2)序列标志。In[]:这样的序列标记,方便人们查看代码的执行次序。
1.3.2 Code运行模式
Jupyter Notebook命令运行模式(代码模式)的4种特征:绿色边框、闪动的光标、代码(下拉菜单)、铅笔图标,如图1-21所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P28_1291.jpg?sign=1739251384-mREHxHLhAYW5QAnayuWUmpCZWSwnGi3U-0-048c05ded31bd943e131e49ffef6e441)
图1-21 Jupyter Notebook命令运行模式(1)
在代码单元格输入以下代码:
import numpy as np import pandas as pd
单击工具栏“运行”按钮或按住Shift+Enter键,单元格左侧的[]会先变为[∗]再变为[<num>]。[]:表示运行前,[∗]:表示运行中,[<num>]:表示已运行结束,<num>代表的是运行结束后当前单元格[]所显示的数字。运行后如图1-22所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P29_1305.jpg?sign=1739251384-Qd2XrnA7o3c5H7QhzwxaipgcbN3Iwq36-0-0fb5aa789a57807b2e0301a6047bb332)
图1-22 Jupyter Notebook命令运行模式(2)
[∗]运行后会产生3种可能的结果:
(1)报错,会出现一串提示。
(2)运行正常,但无法看到结果。
(3)运行正常,可以看到运行结果。
报错举例:print(1+"2"),如图1-23所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P29_1309.jpg?sign=1739251384-uiHJlqS9iVR87nPEFqDny6heSJKTuDdv-0-d2e647c3f5722b0237373de5f853e4fe)
图1-23 Jupyter Notebook报错提示
如果有对变量进行赋值的代码,运行结束后,意味着变量已被存入内存,则此变量可以在后面直接调用。这是Jupyter强于其他解释器的地方,示例代码如下:
a = 3 b = 2+a b
结果为5,如图1-24所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P29_1320.jpg?sign=1739251384-6Z9dMzhOhGCxbK5TqAZYrVmY7VqvSs09-0-afa8601f36648bcbd1054098715ae56a)
图1-24 Jupyter Notebook的运行结果
如果需要重新运行Notebook中的所有代码,则可单击工具栏的双三角形(►►)或通过菜单工具栏Kernel→Restart & run all,在弹出的确认对话框中,单击“重启并运行所有代码块”按钮,如图1-25所示。
注意:后续第1~7章的代码都是以Jupyter Notebook演示为主,其中In[]:单元格内,代表的是代码的输入,Out[]:代表的是代码的输出。若采用Spyder或PyCharm等编译代码,则在所有显示输出的部分,可能需要在外面套上print()才可以得到Jupyter Notebook中显示的结果。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P30_1326.jpg?sign=1739251384-NvT1nJatoU3A2UYfLSC6uWq1wYXXD5qg-0-90e7922f10c2dd57e1f64f008cd41f5e)
图1-25 重启并运行Jupyter Notebook的所有代码块
1.3.3 Markdown模式
单击下拉菜单,选择Markdown。Markdown模式的几个特征如图1-26所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P30_1331.jpg?sign=1739251384-yN1RZUfmaQ3071jXgcNZnFDppGTLCnC3-0-5effbd0ca4bad2c8ddc0b3d30c503026)
图1-26 Markdown模式(1)
Markdown单元支持对文本进行编辑。采用Markdown的语法规范,可以设置文本格式、插入链接、图片及数学公式。同样使用Shift+Enter运行Markdown单元来显示格式化的文本。在单元格外面单击,进入蓝框,然后按下M键;或者在工具栏菜单中选择Markdown。在单元格输入print(1+2),对比前后的效果,如图1-27所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P30_1335.jpg?sign=1739251384-0q0630gRL0O0xINQfebnnksWlEibLDfr-0-0f8b8e8b3a4bd7016465643207fdfc59)
图1-27 Markdown模式(2)
在Markdown模式下,文本字符串末尾的空格会影响显示的结果,如图1-28所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P30_1339.jpg?sign=1739251384-MHcoFUgmGvtRXB4p2YYDngpdxCIXITQI-0-5ef0d8b6751cd32d2c8ce6e620426619)
图1-28 Markdown模式(3)
1.3.4 常用快捷键
在Markdown模式下,按下H键,查看所有快捷键,如图1-29所示。
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-P31_1346.jpg?sign=1739251384-HsFK8aMQwXdEYjvgZk6hwSJ8oLG3moZA-0-04f31cfb1110efca95318239720490c6)
图1-29 常用快捷键
Jupyter Notebook常用快捷键见表1-1。
表1-1 Jupyter Notebook常用快捷键
![](https://epubservercos.yuewen.com/FE9EA1/31397776803522806/epubprivate/OEBPS/Images/Figure-T31_22232.jpg?sign=1739251384-B1kZUfKui8j1TuoWWkrCm3jqhrndOvZY-0-2339b25c0b25f63414f361a3be408dbd)
1.3.5 常用魔法命令
%,%%,称为魔术关键字(Magic Keywords),是用于控制Notebook的特殊命令。以下是Jupyter Notebook中较常用的几个魔法命令。
(1)%timeit:获取代码的运行时间。
(2)%ls:获取当前目录下所有的文件内容。
(3)%matplotlib inline:在文档中嵌入Matplotlib生成的图形。注意:如果用了这个魔法函数,则可以在代码中省略plt.show()。
(4)%run:运行“.py”格式的Python文件。
(5)%load:用外部脚本替换当前单元格。
(6)%pwd:获取当前目录。