Jupyter Notebooks 是一款开源的网络应用
,我们可以将其用于创建和共享代码与文档。
其提供了一个环境,你无需离开这个环境,就可以在其中编写你的代码、运行代码、查看输出、可视化数据并查看结果。因此,这是一款可执行端到端的数据科学工作流程的便捷工具,其中包括数据清理、统计建模、构建和训练机器学习模型、可视化数据等等。
Jupyter Notebooks中代码是按
独立单元
的形式编写的,而且这些单元是独立执行的。这让用户可以测试一个项目中的特定代码块,而无需从项目开始处执行代码。
首先需要在自己的机器上安装Python,Pyton 2.x 或者 Python 3.x 都可以。
2.1 Anaconda
对于像我们这种新用户而言,推荐使用Anaconda 发行版来安装 Python 和 Jupyter Notebooks。Anaconda 会同时安装这两个工具,并且还包含相当多数据科学和机器学习社区常用的软件包。So convenient !
2.2 pip 方法
如果因为某些原因不愿意使用 Anaconda,那么你需要确保你的机器运行着最新版的 pip。
如果你已经安装了 Python,那么就已经有 pip 了。你可以使用以下代码升级到最新版的 pip:
#Linux and OSX
pip install -U pip setuptools
#Windows
python -m pip install -U pip setuptools
pip 安装好之后,继续安装 Jupyter:
#For Python2
pip install jupyter
#For Python3
pip3 install jupyter
官方的 Jupyter 安装文档:https://jupyter.readthedocs.io/en/latest/install.html
jupyter notebook
http://localhost:8888/tree
Jupyter Notebook
的快捷方式打开开启 notebook 的文件夹
中启动 Jupyter 主界面要想新建一个notebook,只需要点击New
按钮,选择希望启动的 notebook 类型即可。
这里,我们会看到四个需要选择的选项:
1.选择 Text File,会得到一个空面板。
你可以添加任何字母、单词和数字,其基本上可以看作是一个文本编辑器(类似于 Ubuntu 的文本编辑器)。你可以在其中选择语言(有很多语言选项),也可以选择编辑器(Vim和Emacs等),所以你可以在这里编写脚本,同时可以查找和替换该文件中的词。
2.选择 Folder 选项时,你会创建一个新的文件夹。
你可以在其中放入文件,重命名或删除它。各种操作都可以。
3.Terminal 完全类似于在 Mac 或 Linux 机器上的终端(或 Windows 上的 cmd)。
其能在你的网络浏览器内执行一些支持终端会话的工作。在这个终端输入 python,你就可以开始写你的 Python 脚本了!
4.但在本文中,我们重点关注的是笔记本,所以我们从 New 选项中选择 Python 3。你会看到下面的屏幕:(有多个python的原因,是我的机器上有多种python环境)
然后,你就可以写你的Python代码。
notebook的界面由以下几个部分组成:
1.notebook的名称
2.主工具栏,提供了添加、编辑、剪切、向上和向下移动单元、运行单元内的代码、停止代码、保存工作以及重启 kernel等选项
3.下拉菜单
在下图所示的下拉菜单中,你还有 4 个选项:
Code——不言而喻,就是写代码的地方。
Markdown——这是写文本的地方。你可以在运行一段代码后添加你的结论、添加注释等。
Raw NBConvert——这是一个可将你的笔记本转换成另一种格式(比如 HTML)的命令行工具。
Heading——这是你添加标题的地方,这样你可以将不同的章节分开,让你的笔记本看起来更整齐更清晰。(利用Markdown标题语法实现)
4.编辑区域
下面的主要区域,由被称为单元格(cell)
的部分组成,每个notebook由多个单元格组成,每个单元格又可以有不的用途。
1.Jupyter Notebooks 的神奇功能
Jupyter Notebooks 的开发者已经在其中内置了一些预定义的神奇功能,使得工作更具有交互性。
可以运行下面的命令来查看功能列(注:% 符号通常不需要,因为自动补齐功能通常是开启的)::
%lsmagic
顾名思义,逐行方式是执行单行的命令,而逐单元方式则是执行不止一行的命令,而是执行整个单元中的整个代码块。
例如下面两条命令:(测试代码的运行时间)
2.notebook单元格的编辑
2.1 快捷键
我们可以在上述所提到的下拉框
中来选择我们单元格的输入模式(code,markdown),同时利用快捷键Ctrl + Enter
或者Shift+Enter
可以快速执行并输出单元格计算的结果。
并且,Jupyter Notebooks 提供了两种不同的键盘输入模式——命令和编辑。
进入命令模式之后(此时你没有活跃单元),你可以尝试以下快捷键:
插入
一个新的单元,B 会在活跃单元之下插入一个新单元。删除
一个单元。撤销
被删除的单元,按 Z。查找和替换
」菜单。处于编辑模式时(在命令模式时按 Enter 会进入编辑模式),你会发现下列快捷键很有用:
保存
进度。运行
你的整个单元块。查看键盘快捷键完整列表,可在命令模式按
「H」
或进入「Help > Keyboard Shortcuts」
。
2.2 Markdown 单元格高级用法
和CSDN的Markdown编辑器一样,Markdown单元格也支持HTML代码和Latex公式的键入等功能。
这是 Jupyter Notebooks 最重要且最出色的功能之一。
我们可以将 notebook 导出为多种格式:
如果,我们将其保存为Markdown
格式,会很方便分享到各个博客网站。
扩展/附加组件是一种非常有生产力的方式,能帮你提升在 Jupyter Notebooks 上的生产力。
在进行上述操作后,我们会发现我们的编辑器没有代码自动补全等功能,这会令不少人感觉不方便。下面,我们介绍安装一款扩展工具能很好的解决这个问题——Nbextensions。
第一步:从 pip 安装它:
pip install jupyter_contrib_nbextensions
# 也可以指定镜像安装
pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.cn/simple
推荐镜像网站
http://pypi.douban.com/simple/ 豆瓣
http://mirrors.aliyun.com/pypi/simple/ 阿里
http://pypi.hustunique.com/simple/ 华中理工大学
http://pypi.sdutlinux.org/simple/ 山东理工大学
http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
https://pypi.tuna.tsinghua.edu.cn/simple 清华大学
第二步:安装相关的 JavaScript 和 CSS 文件:
jupyter contrib nbextension install --user
完成之后,重启Jupyter,在主页会发现增加了一个Nbextensions标签页
点击之后,选择我们想要的扩展功能:
添加的时候。注意看下面的功能演示。
结语:
Jupyter notebook 是一个非常强大的工具,可以创建漂亮的交互式文档,制作教学材料,其功能远远不止所介绍的这些,需要大家边学边用。
1.Jupyter 基础使用
https://blog.csdn.net/xiaokeai1118/article/details/80118423
2.入门|始于Jupyter Notebooks:一份全面的初学者实用指南
http://baijiahao.baidu.com/s?id=1601883438842526311&wfr=spider&for=pc