科学计算领域必备(数据分析)的Python IDE之Jupyter Notebook
文章目录
什么是Jupyter
官方网站:https://jupyter.org/install
Jupyter脱胎于IPython项目。IPython是一个Python的交互式shell, 它比默认的Python shell要好 用很多。而IPython正是Jupyter的内核所在,我们可以理解为,Jupyter是网页版的IPython。
Jupyter Notebook(简称 Jupyter)是一款 WEB 应用程序,需要在浏览器中打开使用。
按照 Jupyter 创始人的说法,起初他只想做一个综合 Ju(Julia)、Py(Python)和 R 三种科学运行语言的计算工具平台,所以将其命名为 Jupyter。发展到现在,Jupyter 已经成为了一个几乎支持所有语言,能够把软件代码、计算输出结果、解释文档、多媒体资源整合在一起的多功能科学运行平台。
Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。
这些文档是保存为后缀名为.ipynb的JSON格式文件,不仅便于版本控制,也方便与他人共享。
此外,文档还可以导出为:HTML、LaTeX、PDF等格式。
总结: Jupyter,已经成为科学计算领域的必备工具。Jupyter Notebooks 用于各种数据科学任务,包括数据清理和转换、数值模拟、探索性数据分析、数据可视化、统计建模、机器学习、深度学习等等。
Jupyter Notebook的优势
① 编程时具有语法高亮、缩进、tab补全的功能。
② 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
③ 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
④ 对代码编写说明文档或语句时,支持Markdown语法。
⑤ 支持使用LaTeX编写数学性说明。
- 整合了所有资源
在软件开发过程中,频繁地切换窗口会影响开发效率。举个例子,假设你需要切换窗口去看一些文档,再切换窗口去用另一个工具画图,不断地切换窗口就会成为影响效率的因素。
使用 Jupyter 就可以彻底解决这个问题,因为它已经将开发需要的所有资源整合到了一个地方,无需切换窗口就可以轻松找到。
- 交互性编程体验
在机器学习和数据分析领域,Python 编程的实验性特别强,比如为了测试 100 种不同的方法,有时就需要将一小块代码重写 100 遍,在这种情况下,如果使用传统的 Python 开发流程,每一次测试都要将所有代码重新跑一遍,会花费开发者很多时间。
Jupyter Notebook 引进了 Cell 的概念。每次测试可以只跑一小块的代码,并且在代码下方立刻就能看到运行结果。
如此强的交互性,满足了 Python 程序员可以专注于问题本身,不会被频繁的工具链拖累,也不用在命令行之间来回切换,所有工作都能在 Jupyter Notebook 上完成。
- 轻松运行他人编写的代码
还是在机器学习和数学分析领域,我们可能会借鉴他人分享的代码,如果拷贝过来的代码需要使用 pip 安装一大堆依赖库才能运行,就非常让人抓狂,而 Jupyter Notebook 可以解决此类问题。
Jupyter 官方的 Binder 平台以及 Google 提供的 Google Colab 环境,可以让 Jupyter Notebook 变得和 Google Doc 在线文档一样。比如用 Binder 打开一份 GitHub 上的 Jupyter Notebook 时,就不需要安装任何 Python 库,直接打开代码就能运行。
Jupyter中执行shell命令
我们知道,shell是一种在命令行执行的与计算机进行文本交互的命令方式。一般而言,当我们 正在使用Python编译器且需要用到命令行工具时,要在shell和IDLE之间不断切换。
在Jupyter环境下,只要在代码单元格里,直接在命令之前添加一个! (注意:请用英文的惊叹号)就能执行shell命令。
什么是Anaconda
官方:https://www.anaconda.com
Anaconda指的是一个开源的Python发行版本,其包含了Conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包Conda和Python)。
Anaconda利用工具/命令Conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
这里先解释下Conda、Anaconda这些概念的差别。
Conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
Conda的设计理念——Conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。
Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。
总结:Anaconda与Jupyter notebook已成为数据分析的标准环境。它支持Mac|Windows|Linux,包含众多流行的科学计算、数据分析的Python包。
Anaconda是一个科学计算环境,当在电脑上安装好Anaconda3以后,就相当于安装好了Python,还有一些常用的库,如numpy,scrip,matplotlib等库。
Jupyter notebook的安装
Jupyter notebook的安装可以分为两种:
- Python环境下安装(没有安装Anaconda只是安装了Python)
- Anaconda下安装
Python环境下安装
测试是否安装成功,在命令行窗口继续输入:
jupyter notebook
通过Anaconda安装
官方下载地址:https://www.anaconda.com/?modal=commercial
Anaconda与Jupyter notebook已成为数据分析的标准环境。它支持Mac|Windows|Linux,包含众多流行的科学计算、数据分析的Python包。
常规来说,安装了Anaconda发行版时已经自动为你安装了Jupyter Notebook。
Anaconda 可以安装在多个平台上,包括 Windows、Linux 和 Mac OS X。Anaconda 官方分别提供了个人版、商业版、团队版和企业版这四种版本的 Anaconda,只有个人版是免费的。对于初学者而言,个人版完全够用,在 Anaconda 官网就可以找到对应平台的个人版安装包。
建议使用anaconda来安装包含Jupyter notebook在内的各种Python工具和包,能够很好地解决各种环境问题。
使用Jupyter notebook常用的快捷键
常用的快捷键是:
这几个快捷键都是非常常用的。
作者:西京刀客