数据分析挖掘(一) ----- Jupyter Notebook全面了解和安装配置

  • 时间:2025-11-29 21:28 作者: 来源: 阅读:4
  • 扫一扫,手机访问
摘要:Jupyter Notebook是什么 Jupyter Noteboo(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook是支持多种语言用于交互计算的web应用程序。可被应用于全过程计算:开发、文档编写、运行代码和展示结果。 也就是 Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码

Jupyter Notebook是什么

Jupyter Noteboo(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。

Jupyter Notebook是支持多种语言用于交互计算的web应用程序。可被应用于全过程计算:开发、文档编写、运行代码和展示结果。

也就是 Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。

如果在编程过程中需要编写说明文档

老的方式是 在相应的IDE中,比如 pycharm中单独编写代码,运行结果,然后截图,粘贴到另外的文档中。

如果使用Jupyter Notebook,可以在同一个页面中直接编写代码,代码的运行结果也会直接在代码块下显示,同时也能在中间加入文档,Jupyter Notebook 能将这一切集中到一处,让用户一目了然,便于作及时的说明和解释。

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

写好的代码和 运行结果 以及 文档 可以在一个页面中展示,很直观,也能很方便的分享给同事或者导出 查看。

是做数据分析和科研的 大杀器。

总结来说:

Jupyter notebook 是一种支持多种开发语言的Web应用工具,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

Jupyter Notebook 已迅速成为数据分析,数据挖掘,机器学习的必备工具。因为它可以让数据分析师集中精力向用户解释整个分析过程。而不需要关注 项目的工程化以及环境和代码架构问题。

效果如图:

Jupyter notebook主要用途

● 学习并尝试运行 Python 代码,观察其效果

● 数据处理和转换

● 数值模拟分析

● 统计建模

● 机器学习

数据挖掘领域中最热门的比赛 Kaggle 里的资料都是Jupyter 格式

Jupyter notebook支持哪些开发语言

Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与“木星(jupiter)”谐音。

当然,现在的Jupyter变得更强大了,可以集成更多的内核,支持更多的开发语言。

比如Java,C#,Go,Scala,Erlang,Perl,C++等等。

具体支持的内核和语言如下图:

完整列表可查看

https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

默认安装好的Jupyter notebook 只支持 Python,需要 自己增加内核。

详细的步骤后续的文章中我们再记录。

相关链接

Jupyter Notebook官网

github

Jupyter Notebook文档

发展历史

Jupyter notebook 源于 Fernando Perez 发起的 IPython 项目。

IPython 是一种交互式 shell,与普通的 Python shell 相似,但具有一些更高级的功能,例如语法高亮显示和代码补全,还有一些 magic魔法命令(特殊命令) 操作,和文档编写展示,十分方便, IPython notebook是那种又能轻松编辑又能为每部分显示output效果,还能在旁做markdown笔记的东西。

后来IPython notebook 经过演化,高级的功能部分剥离出来,变成一个单独的工具,而且在架构上也 进行了优化,通过内核的方式,已经不仅仅局限于python语言,最早的时候 支持 Julia、Python 和 R 三种语言,所以命名为Jupyter notebook。

从IPython 4.0版本开始IPython只集中精力做交互式shell,变得轻量化,而剩下的notebook格式,qtconsole,和notebook web应用等都分离出来统一命名为Jupyter,至此IPython和Jupyter分家。

Jupyter notebook 将 IPython 做成了一种 Web 应用,用网页浏览器打开,以cell为单元运行,可用cmd命令直接打开。

jupyter和pycharm等IDE的区别和选择

写Python代码很多人会告诉你要用Pycharm,但那是开发Python项目用的, 那种由成百上千个文件组成、包含数万行代码的项目必须要很专业的复杂工具才行。比较偏工程化,也能对项目进行更好的管理。

但如果你的目的是数据分析、算法研究等方面的工作,那么Jupyter Notebook 最适合你,因为它足够简单,让你可以专注于数据和算法的逻辑而不是工具。

两个产品的使用场景不一样。jupyter 更多用于数据探索和算法设计阶段,你需要即时获得一段代码的结果,然后才知道后面的代码怎么编写。

pycharm 则更加适用于工程化的项目,比如你要编写一个 python 库,或者编写一个 web 应用,这个时候 pycharm 就会比 jupyter 好用很多。

使用jupyter可以在写编码和调试时获得最密集最实时的反馈,有任何问题插入一个cell写几行代码测试一下。

所以也可以在jupyter notebook上完成代码设计和测试,然后再跑集群任务。

Jupyter比较轻量,pycharm等IDE是重型武器,我们可以根据自己需要的场景进行选择。

组成和原理–Jupyter notebook是如何工作的

我们可以通过它的组成架构更清楚的了解:

notebook 的服务端 (notebook server)

notebook 的服务端是Jupyter notebook的核心。主要是完成 用户请求与 语言环境内核 以及 文件之间的信息交互。

web应用–前端 (browser)

用户通过浏览器打开 notebook时 看到的是 一个 Web 应用。
也就是 网页交互界面。
网页交互界面主要实现的功能是 调用服务端的接口 实现 与 服务端的交互。

内核 (Kernel)

我们在上面有说到 Jupyter notebook 可以支持多种编程语言,实现的原理就是 不同的编程语言 使用不同的内核 kernel。 比如 我使用python3语言,它有一个专属的内核,内核主要做的事情就是 接受到 用户输入的 命令后,进行编译 运行,返回结果,我们可以把内核 理解成 一个 带python3的系统环境,有点类似于 云计算中的 容器。

文档

我们之前说过,Jupyter notebook的特点就是 能把代码和结果以及说明文档在同一个界面中进行可视化的展示,而当我们对这一个可视化的展示界面进行 保存时,它将作为 JSON 文件(文件扩展名为 .ipynb)写入到该服务端中 保存。

主要特点

1、编程时具有语法高亮、缩进、tab补全的功能。

2、可直接通过浏览器运行代码,同时在代码块下方展示运行结果。

3、以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。

4、对代码编写说明文档或语句时,支持Markdown语法。

5、支持使用LaTeX编写数学性说明。

6、在Jupyter Notebook 中,代码可以实时的生成图像,视频,LaTeX和JavaScript。

7、用户可以通过电子邮件,Dropbox,GitHub 和 Jupyter Notebook Viewer,将 Jupyter Notebook生成的页面(包含结果和各种文本视频图片说明) 分享给其他人。

试用Jupyter Notebook

如果对Jupyter Notebook感兴趣 不需要安装也可以先进行试用,Jupyter官网提供了试用的环境,不过 有可能需要排队。

访问官网https://jupyter.org/

找到 Try it in your browser的按钮 点击进入。

在try页面可以看到可以尝试很多种环境,我们可以试一下经典环境:

点击进入后 会看到加载页面,需要稍等一小会(不超过3分钟)

如果看到如下画面,说明 没有抢到资源,隔几分钟再重试即可。

看到如下界面则 进入 试用环境成功。

点击左上角的File —》New Notebook —》 python3

即可创建出一个 python3的工作环境,我们就能够 享受一边编码 一边查看 代码输出结果的乐趣了。

但是需要注意的是 官网提供的测试环境 隔一小段时间不使用会回收,如果我们的代码没有 Download as 下载下来,就有丢失的可能。

而且该测试环境的性能也不会很好,也不能进行一些个性化的配置和定制。

所以 最好还是 使用我们自己的jupyter notebook进行编码。

第三方平台的在线 Jupyter Notebook

除了Jupyter Notebook的官网提供了Jupyter Notebook的测试环境,很多第三方的平台都集成了Jupyter Notebook服务,并对外提供服务。

主要有但不限于以下平台集成了 Jupyter Notebook 环境:

1、科赛和鲸 K-lab(国内)
2、阿里天池大数据 (国内)
3、Azure notebooks
4、Kaggle
5、Google Colab
6、CoCalc

这些第三方平台实际上都已经事先集成了经常使用的包如 Python 领域的pandas、numpy或 R 语言中的ggplot2等,一般无需额外下载,真正做到了开箱即用。

国内的第三方在线 Jupyter Notebook 平台我就只用过 K-lab 和天池大数据,实际上感觉二者都是大同小异,也都是有点效仿 Kaggle 只需要你将学习或练习的数据集上传并设定好路径,通过相应函数读入数据即可开始学习,这对于国内师生的教学简直就是福音。

除此之外,微软的Azure Notebooks、Kaggle等本质上都是相似的;当然如果你能魔法上网并且经常进行深度学习,那么 Google Colab 的羊毛你绝对不会错过。

当然,如果你想和国外的数据科学爱好者或者资深人士一较高下,那么 Kaggle 一定是你的不二选择。需要注意的是,虽然 Kaggle 在国内是可以访问并注册的,但是在注册 Kaggle 账号后,点击邮箱里的激活链接时,一定要魔法上网后才可以弹出谷歌验证,验证成功后方可激活。否则无法通过机器人验证,会让自己的账号操作受限。

微软自从收购了 Github 后,Azure Notebooks 也同样支持你将自己的代码方便快捷地同步到自己的 Repo。但是在国内访问 Azure Notebooks 还是有点延迟,使用体验上并不佳。所以还是尽量推荐访问国内的 K-lab 或天池大数据,又或者是在本地端将代码写好后以.ipynb的形式上传。

第三方平台的 Jupyter Notebook 不好的地方在于,每次给你分配的运行时间以及资源都是有限的;并且如果有些包不是内置而是自己手动下载的,那么每次重新进入到 Jupyter Notebook 中则需要再重新手动下载安装,十分麻烦。

所以如果你有自己的服务器,也可以在服务器上对 Jupyter Notebook 进行部署。这样的话你就可以随时随地访问你服务器上的 Jupyter Notebook 了。

安装

官网安装命令

方式一(推荐) 安装Anaconda----Anaconda附带Jupyter notebook

Anaconda 是一种Python语言的免费增值开源发行版,里面内置了很多工具和数据分析挖掘科学计算的包,这样当我们需要使用的时候 就不需要再单独安装相关的包了。

Anaconda 用于进行大规模数据处理、预测分析,和科学计算,致力于简化包的管理和部署。

安装Anaconda的时候 Anaconda一般会自己新建一个底层的python环境单独使用,这样就可以与 原来系统中的python环境隔离开来。当有人 修改 系统的python环境时,Jupyter notebook才不会受到影响,所以

我们推荐 使用安装Anaconda的方式进行 Jupyter notebook的安装。

详情和具体安装步骤可参考文章

数据分析挖掘(二) --基础— anaconda全面了解和安装-window环境和linux环境

方式二 — 使用pip命令进行安装

安装Jupyter Notebook的前提是需要安装了Python(3.3版本及以上,或2.7版本)

pip命令 使用python的应该都比较熟悉了。

pip 是一个通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
pip是官方推荐的安装和管理Python包的。

根据python的版本又分为 pip2 和pip3等。

把pip升级到最新版本

Python 3.x


pip3 install --upgrade pip

Python 2.x


pip install --upgrade pip

注意:老版本的pip在安装Jupyter Notebook过程中或面临依赖项无法同步安装的问题。因此强烈建议先把pip升级到最新版本。

pip安装jupyter notebook

很简单,使用如下命令即可。

Python 3.x


pip3 install jupyter

Python 2.x


pip install jupyter

pip安装需要考虑的问题

由于jupyter的性质:它是调用python内核的东西,用系统python还是用自己的python,这都是很敏感很麻烦的问题。用系统的python很容易识别不到或者被别的程序修改导致bug,用自己的python会导致别的地方安装的package在jupyter里识别不了。

所以:
正确的方法是在virtualenv虚拟环境下,绝对安全封闭的环境下用pip安装jupyter。这样的话,第一,不需要sudo pip这样敏感的东西去安装jupyter这么复杂的工具;第二,也保证了jupyter不会搞乱其它东西。
然后,二话不说,在已有virtualenv的情况下,在某个文件夹里建立虚拟环境,并启动虚拟环境。然后简单一句pip install jupyter,完成安装。

安装完成后jupyter notebook,完美运行!

关于虚拟环境 可以参考文章(需要补全文章链接)

安装 virtualenv
我们将为 Jupyter 创建一个独立的虚拟环境,与系统自带的 Python 隔离开来。为此,先安装 virtualenv 库:


pip install virtualenv

创建虚拟环境
创建一个专门的虚拟环境,并直接激活进入该环境:


virtualenv venv
source venv/bin/activate

使用 pip 安装 Jupyter
我们使用 pip 命令安装 Jupyter:


pip install jupyter 

方式三 —使用conda环境(miniconda)进行安装

conda官网:https://conda.io/miniconda.html

Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。 Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。

conda分为Anaconda和miniconda。

Anaconda是包含一些常用包的版本,miniconda则是精简版,需要啥装啥,如果我们不需要Anaconda里很多多余的工具的话,可以使用miniconda来进行jupyter notebook的安装。

首先需要安装miniconda,miniconda支持三个版本windows和macOS以及linux。

安装步骤参考 miniconda官网 https://docs.conda.io/en/latest/miniconda.html

也可以参考一篇写的比较好的教程 : https://www.jianshu.com/p/edaa744ea47d

使用conda安装jupyter notebook很简单,使用如下命令即可。


conda install -c conda-forge notebook

安装minicoda有个好处:

有很多的生信软件都可以通过conda安装,省去了很多的安装、修bug的烦恼。经常是安装到崩溃的软件,conda一行命令就搞定了。

比如gatk,只要一行命令conda install gatk就行了。

但是也有一些 缺点:

会污染覆盖之前的一些 环境,比如python的环境,perl的环境,R的环境等等,所以安装conda的时候 记得不要把它加入环境变量。

conda污染环境的案例

启动Jupyter notebook

默认端口启动

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

启动后,默认的 notebook 服务器的运行地址是 http://localhost:8888。

只要 notebook 服务器仍在运行,你随时都能通过在浏览器中输入 http://localhost:8888 返回到 web 页面中。

指定端口启动

如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,所以我们可以自己指定端口启动

如果你想自定义端口号来启动Jupyter Notebook,可以在终端中输入以下命令:


jupyter notebook --port port_number

其中port_number是自定义端口号,直接以数字的形式写在命令当中。
如:


jupyter notebook --port 9999

即在端口号为“9999”的服务器启动Jupyter Notebook。

通过在浏览器中输入 http://localhost:9999 访问Jupyter Notebook。

启动服务器但不打开浏览器

如果你只是想启动Jupyter Notebook的服务器但不打算立刻进入到主页面,那么就无需立刻启动浏览器。在终端中输入:


jupyter notebook --no-browser

此时,将会在终端显示启动的服务器信息,并在服务器启动之后,显示出打开浏览器页面的链接。当你需要启动浏览器页面时,只需要复制链接,并粘贴在浏览器的地址栏中,轻按回车变转到了你的Jupyter Notebook页面。

启动命令帮助

如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:


jupyter notebook --help


jupyter notebook -h

后台运行

直接以 jupyter notebook 命令启动 Jupyter 的方式在连接断开时将会中断,所以我们需要让 Jupyter 服务在后台常驻。

先按下 Ctrl + C 并输入 y 停止 Jupyter 服务,然后执行以下命令:


nohup jupyter notebook > /data/jupyter/jupyter.log 2>&1 &

该命令将使得 Jupyter 在后台运行,并将日志写在 /data/jupyter/jupyter.log 文件中。

启动时打开特定的文档

进入文档存在的目录


jupyter notebook notebook.ipynb

Jupyter notebook 界面布局了解

https://www.lizenghai.com/archives/18260.html

设置Jupyter Notebook文件存放位置和相关配置

https://blog.csdn.net/wuyandekuse/article/details/82669249

https://www.jianshu.com/p/91365f343585/

其他参考资料

视频课程–Starting a Jupyter Notebook

  • 全部评论(0)
手机二维码手机访问领取大礼包
返回顶部