Jupyter notebook快速入门教程(推荐)


Posted in Python onMay 18, 2020

本文主要介绍了Jupyter notebook快速入门教程,分享给大家,具体如下:

Jupyter notebook快速入门教程(推荐)

本篇将给大家介绍一款超级好用的工具:Jupyter notebook

为什么要介绍这款工具呢?

如果你想使用Python学习数据分析或数据挖掘,那么它应该是你第一个应该知道并会使用的工具,它很容易上手,用起来非常方便,是个对新手非常友好的工具。而事实也证明它的确很好用,在数据挖掘平台 Kaggle 上,使用 Python 的数据爱好者绝大多数使用 jupyter notebook 来实现分析和建模的过程,因此,如果你想学习机器学习,数据挖掘,那么这款软件你真的应该了解一下。

本篇博主总结了关于Jupyter notebook的一些关键点,帮助大家快速了解并使用它。

什么是Jupyter notebook?

Jupyter notebook 是一种 Web 应用,它能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,非常方便研究和教学。在原始的 Python shell 与 IPython 中,可视化在单独的窗口中进行,而文字资料以及各种函数和类脚本包含在独立的文档中。但是,notebook 能将这一切集中到一处,让用户一目了然。

Jupyter notebook特别适合做数据处理,其用途可以包括数据清理和探索、可视化、机器学习和大数据分析。

Jupyter notebook是如何工作的?

Jupyter notebook 源于 Fernando Perez 发起的 IPython 项目。IPython 是一种交互式 shell,与普通的 Python shell 相似,但具有一些更高级的功能,例如语法高亮显示和代码补全,还有一些 magic 操作,十分方便。Jupyter notebook 将 IPython 做成了一种 Web 应用,我们可以通过它的基本架构更清楚的了解:

Jupyter notebook快速入门教程(推荐)

可以看到,这里的核心是 notebook 的服务器。用户通过浏览器连接到该服务器,而 notebook 呈现为 Web 应用。用户在 Web 应用中编写的代码通过该服务器发送给内核,内核运行代码,并将结果发送回该服务器。然后,任何输出都会返回到浏览器中。保存 notebook 时,它将作为 JSON 文件(文件扩展名为 .ipynb)写入到该服务器中。

此架构的一个优点是,内核无需运行 Python。由于 notebook 和内核分开,因此可以在两者之间发送任何语言的代码。例如,早期的两个非 Python 内核分别是 R 语言和 Julia 语言。使用 R 内核时,用 R 编写的代码将发送给执行该代码的 R 内核,这与在 Python 内核上运行 Python 代码完全一样。IPython notebook 已被改名,因为 notebook 变得与编程语言无关。新的名称 Jupyter 由JuliaPythonR 组合而成。

安装Jupyter notebook

最简单的方法就是使用 Anaconda,其发行版附带了 Jupyter notebook。

在 conda 环境下安装 Jupyter notebook 可以使用 conda install jupyter notebook。当然,也可以通过 pip 来安装 pip install jupyter notebook

启动 notebook 服务器

启动 notebook 很简单,只需要在终端环境下输入 jupyter notebook, 服务器就会在当前操作的目录下启动。当然你可以建立一些专门用来运行 notebook 的文件夹,尤其对于不同的 Python版本以及一些项目(后面会提到)。

启动后,默认的 notebook 服务器的运行地址是 http://localhost:8888。只要 notebook 服务器仍在运行,你随时都能通过在浏览器中输入 http://localhost:8888 返回到 web 页面中。如下图:

Jupyter notebook快速入门教程(推荐)

可以通过点击 “New” 创建新的 notebook、文本文件、文件夹或终端。

Jupyter notebook快速入门教程(推荐)

“Notebook”下的列表显示了已安装的内核。这个示例中安装的版本是 Python 2.7,因此列出了 Python 2.7 内核。当然,如果你同时安装了其它内核比如 Python 3,那么它也会在列表中同时出现。这又是 notebook 的另一大好处,就是可以同时管理多个版本,当你同时需要 Python 2 和 Python 3,或者 Scala 2.10 和 2.11 的内核的时候,是十分方便的。

而对于关闭 notebook,可以通过选中文件,点击 "shutdown" 来操作操作,但请确认先保存:

Jupyter notebook快速入门教程(推荐)

通过在终端中按两次 Ctrl + C,可以关闭整个服务器。

notebook 界面

notebook 界面由基本的单元格组成,每个单元格在可编辑状态下可以任意的输入代码和注释说明(markdown)。默认的是代码格式,也就是下图中工具栏列表所示的 code

Jupyter notebook快速入门教程(推荐)

Jupyter notebook快速入门教程(推荐)

单元格 绿色 代表内容可编辑状态(比如输入代码),蓝色 代表单元格可操作状态(比如删除单元格,必须回到蓝色),而蓝色与绿色之间可以用EscEnter 来切换。

Jupyter notebook快速入门教程(推荐)

Kernel 的小圆圈在空闲状态下是空的,而当运行代码时,会被填满,所以可以通过观察 Kernel 的状态观察程序是否运行完成。

代码单元格

notebook 中的大部分工作均在代码单元格中完成。编写和执行代码都在这里,就像我们平时在 IDE 软件里敲代码一样,给变量赋值、定义函数和类、导入包等。执行单元格代码可以通过 Shift + Enter 来完成。下面是一个示例:

Jupyter notebook快速入门教程(推荐)

Markdown 单元格

Markdown 是格式化语法,可以加入链接、将文本样式设为粗体或斜体和设置代码格式。像代码单元格一样,按 Shift + EnterCtrl + Enter 可运行 Markdown 单元格,这会将 Markdown 呈现为格式化文本。

Markdown 在这里就不详细介绍了,如果不清楚可以查看官网:http://www.markdown.cn/。下面是一个 Markdown 的示例:

Jupyter notebook快速入门教程(推荐)

快捷键

notebook 自带一组快捷键,能让你快速使用键盘与单元格交互,而无需使用鼠标和工具栏。熟悉这些快捷键需要花费一点时间,但如果能熟练掌握,将大大加快你在 notebook 中的工作速度。所有的快捷键就不在这里展示了,因为这些快捷键可以通过单元格 蓝色 状态下按 "h" 来查看:

Jupyter notebook快速入门教程(推荐)

Magic 关键字

Magic关键字是 IPython 的一些高级用法,可以运行特殊的命令,然后控制 notebook。例如,在 notebook 中可以使用%matplotlib 将 matplotlib 设置为以交互方式工作。

Magic 命令的前面带有一个或两个百分号(%%%),分别代表行 Magic 命令和单元格 Magic 命令。行 Magic 命令仅应用于编写 Magic 命令时所在的行,而单元格 Magic 命令应用于整个单元格。

如果要测算整个单元格的运行时间,请使用 %%timeit,如下所示:

Jupyter notebook快速入门教程(推荐)

如果要在 notebook 中嵌入可视化内容,可以说使用 %matplotlib inline,如下所示:

Jupyter notebook快速入门教程(推荐)

默认情况下,图形呈现在各自的窗口中。但是,你可以通过命令传递参数,以选择特定的“后端”(呈现图像的软件)。要直接在 notebook 中呈现图形,应将通过命令 %matplotlib inline 内联后端一起使用。

提示:在分辨率较高的屏幕(例如 Retina 显示屏)上,notebook 中的默认图像可能会显得模糊。可以在 %matplotlib inline 之后使用%config InlineBackend.figure_format = 'retina' 来呈现分辨率较高的图像。

当然,还有很多 Magic 关键字的使用,这里只列出了两个常用的介绍给大家。更多内容请参考:http://ipython.readthedocs.io/en/stable/interactive/magics.html

总结

通过本篇,相信你已经了解并知道如何使用 Jupyter notebook 了,但是还需要一些实际的操作才能更熟练的使用它,包括一些快捷键的使用。

https://jupyter.readthedocs.io/en/latest/content-quickstart.html

到此这篇关于Jupyter notebook快速入门教程(推荐)的文章就介绍到这了,更多相关Jupyter notebook 入门内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
python爬虫_实现校园网自动重连脚本的教程
Apr 22 Python
Python基于生成器迭代实现的八皇后问题示例
May 23 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
python 剪切移动文件的实现代码
Aug 02 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
python中的反斜杠问题深入讲解
Aug 12 Python
python3中numpy函数tile的用法详解
Dec 04 Python
python dir函数快速掌握用法技巧
Dec 09 Python
python Polars库的使用简介
Apr 21 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 Python
解决django 向mysql中写入中文字符出错的问题
May 18 #Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 #Python
python实现人像动漫化的示例代码
May 17 #Python
django日志默认打印request请求信息的方法示例
May 17 #Python
使用pyecharts1.7进行简单的可视化大全
May 17 #Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 #Python
VSCode配合pipenv搞定虚拟环境的实现方法
May 17 #Python
You might like
php5.2.0内存管理改进
2007/01/22 PHP
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
2016/11/03 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
python求pi的方法
2014/10/08 Python
python分析nignx访问日志脚本分享
2015/02/26 Python
列举Python中吸引人的一些特性
2015/04/09 Python
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
第一批党的群众路线教育实践活动总结报告
2014/07/03 职场文书
中秋节活动总结
2014/08/29 职场文书
2014年市场部工作总结
2014/11/25 职场文书
父亲节感言
2015/08/03 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python