一.Jupyter notebook是什么
提供交互式的编程体验,既可以一变写代码,一边编写相关的文档来说明你的项目。同时能够将数据分析的结果保存到notebook中,便于下次打开文件的时候查看。完美的将代码、文档等集中在一处。
二.如何启动Jupyter notebook
①Anacnoda用户界面启动
安装 Jupyter 的最简单方法是使用 Anaconda。该发行版附带了 Jupyter notebook。你能够在默认环境下使用 notebook。
②在cmd命令行中启动(安装路径下启动)
在jupyter notebook文件夹目录下,搜索框搜索cmd进入命令行界面
在命令行中输入jupyter notebook,即可启动notebook
三.快速使用Jupyter notebook
-
Tab
:快速代码补全 -
当Cell前出现*,表示当前cell程序正在运行,或者它前面的cell正在运行。
四.常见问题解决
①修改notebook工作文件夹
方法1
- 第一步:找到配置文件,菜单中打开Anaconda Prompt,输入命令 jupyter notebook --generate-config
根据上面运行处的路径打开C:\Users\HS.jupyter\jupyter_notebook_config.py文件
- 第二步:更改配置
- 找到 #c.NotebookApp.notebook_dir = '',去掉该行前面的“#”;
- 在打算存放文件的位置先新建一个文件夹(很重要,最好是英文的),然后将新的路径设置在单引号中,保存配置文件
- 在开始菜单找到“Jupyte Notebook”快捷键,鼠标右击 -- 更多 -- 打开文件位置
- 找到对应的“Jupyte Notebook”快捷图标,鼠标右击 -- 属性 -- 目标,去掉后面的 "%USERPROFILE%/"(很重要),然后点击“应用”,“确定”
- 重新启动Jupyte Notebook即可
方法2
- 开始栏找到upyter Notebook 快捷方式
- 右键->更多->查看文件位置 找到Jupyter文件的位置
- 右键->属性 将目标栏最后面的%USERPROFILE%,修改为D:\notebook_dir此处写你想用的工作目录,然后点保存
- 重启Jupyter Notebook,可以看到目录已改
五.功能介绍
①Conda页面
Conda页面主要是Jupyter Notebook与Conda关联之后对Conda环境和包进行直接操作和管理的页面工具
②Nbextensions页面
Nbextensions页面提供了多个Jupyter Notebook的插件,使其功能更加强大。该页面中主要使用的插件有nb_conda,nb_present,Table of Contents(2)。这些功能我们无需完全掌握,也无需安装所有的扩展功能,根据本文档提供的学习思路,我们只需要安装Talbe of Contents(2)即可,该功能可为Markdown文档提供目录导航,便于我们编写文档。
六.常用设置
1.关联Jupyter Notebook和conda的环境和包
① 安装
conda install nb_conda
执行上述命令能够将你conda创建的环境与Jupyter Notebook相关联,便于你在Jupyter Notebook的使用中,在不同的环境下创建笔记本进行工作
② 使用
-
可以在Conda类目下对conda环境和包进行一系列操作
-
可以在笔记本内的“Kernel”类目里的“Change kernel”切换内核
③ 卸载
canda remove nb_conda
2.安装第三方库
①安装过程
!pip install -[Package] #语法
#需要加一个!号,相当于把这个命令当作shell命令来执行
!pip install matplotlib #安装matplotlib库
②切换镜像源(解决安装过程慢)
!pip install 某包 -i 某镜像源 [代码格式]
!pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
_________________
国内常用的镜像源
清华大学: https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云: https://mirrors.aliyun.com/pypi/simple/
中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣: http://pypi.douban.com/simple/
中国科学技术大学: http://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/simple/
山东理工大学:http://pypi.sdutlinux.org/simple/
3.安装插件(Nbextensions)
- Nbextensions相当于Jupyter的插件管理器
①安装
conda install -c conda-forge jupyter_contrib_nbextensions
安装成功后,在Home页面会多出一个Nbextensions选项卡(下图)
进入Nbextensions选项卡后,发现这里罗列了大量Jupyter所支持的插件(下图),选中某个插件后,在页面下方会显示该插件的说明文档,勾选插件前面的选择框系统就会加载启用该插件
②插件推荐
(1)Hinterland
- jupyter中的自动补全插件,在Nbextensions中勾选该插件名称就能启用。 安装Hinterland后jupyter可以实现如IDE一般的代码自动补全显示,输入代码的头部字符后所有符合的指令都会显示出来以供选择
(2)Collapsible Headings
- Collapsible Headings插件实现的是一种单元格折叠的功能。对于一些当前不需要反复关注的代码,折叠起来不仅可以免除反复滚动的烦恼,还可以给整个notebook带来更加整洁的视觉体验。 Collapsible Headings的使用依赖于Markdown标签,我们以下图中的单元格为例进行演示。
(3)Codefolding
- Codefolding的作用就是折叠单元格中的代码。只不过Codefolding不会像Collapsible Headings一样自定义折叠区域和层级,它会自动识别处于同一层级的代码,就像pycharm一样。
七.Markdown编辑
*它是斜体*
**它是粗体**
***它是粗斜体***
== 高亮 ==
'底纹'
~~read image~~ #给文字添加删除线
<u>这句话有下划线吗</u> #给文字添加下划线
---使用三个--- #分割
'''和''' #代码区域
- Red # 无序列表
1. Red # 有序列表,[数字加.]
> 这是一段引用 #引用
> 这是引用的代码块形式 #在'>'后面有五个空格
#多级引用
>一级引用
>>二级引用
>>>三级引用
八.效率技巧
1.在输出中显示多个项目
-
Jupyter笔记本一次只显示一个输出,如下所示。在本例中,只显示最后一个变量的输出
-
我们可以在下面添加此代码以显示单元格中的所有输出。现在注意,两个变量都显示出来了
2.直接执行Shell命令
- 使用感叹号(!)可以让Jupyter Notebook执行shell命令。例如,可以安装软件包
3.获取单元执行时间
-
使用%%time获得整个单元的执行时间
4.添加扩展提高生产效率
- Jupyter Notebook扩展是为您提供更多功能的整洁工具
- 下面是您可以启用的可配置扩展的列表。对我来说,一些有用的是可折叠标题、代码折叠、草稿行和拼写检查器。
5.显示函数和方法的帮助文档
- 如果忘记了特定方法的参数,请使用Shift+Tab获取该方法的文档
6.使用粗体或彩色突出显示输出内容
- 要使输出的重要部分突出,可以添加粗体字体和/或颜色
7.隐藏输出以加快速度
- 有时候会遇到显示速度很慢的问题,这可能是因为有很多图形正在呈现
- 将鼠标悬停在图表左侧的区域(请参见下面的红色矩形),然后双击该区域以隐藏输出。这会大大加快速度!
8.快捷键技巧
按Esc进入命令模式
A | 在当前单元格上方插入新单元格 |
---|---|
B | 可以在下面插入新单元格 |
M | 将当前单元格更改为Markdown |
Y | 将其更改回代码 |
D + D(按两次) | 删除当前单元格 |
Shift+Enter | 运行本单元,选中下个单元 |
Ctrl+Enter | 运行本单元 |
Shift+Space | 向上滚动 |
Space | 向下滚动 |
Tab | 代码补全或缩进 |
Shift + Tab | 提示 |
Ctrl + ] | 缩进 |
Ctrl + [ | 解除缩进 |
Ctrl/Command + I | 斜体 |
Ctrl/Command + Shift + K | 插入代码 |
Ctrl/Command + Shift + L | 插入链接 |
Ctrl/Command + Shift + G | 插入图片 |
9.代码调试
- %debug — 当代码出现异常后,输入%debug可以直接激活调试器跳到出现错误的地方,在这里还可以查看当前代码的变量情况,,下面举个例子来进行说明:
- 上面这段代码由于计算中出现分母为0的情况,所以运行时会报错,这时在下一个单元格中输入%debug指令,jupyter就会进入调试模式。 进入调试模式后会直接跳转到异常发生的位置(下图),同时会出现一个ipdb文本框,这里可以输入变量或特定指令,例如输入程序中的变量a,就会返回当前位置相关的变量值;如果输入指令quit,则会退出调试模式。
- %debug只是jupyter众多IPython Magic命令中的一个,在juypter中可以使用%lsmagic命令查看所有Magic命令,大家可以根据需要自行选用,这里不再展开介绍。
10.强大的问号 ?
-
实现快捷文档功能,使用方法就是在你想要查看的属性或方法之前加一个?,例如我们要查看python中的str()方法,就可以执行下图中的操作,jupyter会自动弹出一个窗口返回相关信息。
-
还可以查看程序中的变量类型。我们在写代码过程中经常需要查看某个变量是何种数据类型,通常我们会使用type()方法,在jupyter中使用?同样可以实现这一功能,而且返回的信息更加完善。 例如我们想要查看上一条内容中的df变量(下图),可以看到除了会返回数据类型信息之外,还会对该dataframe数据的一些基本信息进行描述,推动右侧的滚动条可以查看更多信息。