【工具】Jupyter Notebook介绍

在数据分析的道路上,你一定曾有过为新发现而激动不已的时刻,此时你急于将自己的发现告诉大家,却遇到了这样的问题:如何将我的分析过程清晰地表述出来呢?
为了能与同行们有效沟通,你需要重现整个分析过程,并将说明文字、代码、图表、公式、结论都整合在一个文档中。显然传统的文本编辑工具并不能满足这一需求,所以这儿隆重推荐一款神器 Jupyter Notebook,不仅能在文档中执行代码,还能以网页形式分享。
下图简单展示了Jupyter Notebook 文档的样式。

本文主要内容如下:
一、Jupyter Notebook 介绍

  • 文学编程
  • 历史传承
  • 优点

二、Jupyter Notebook 使用入门

  • 安装
  • 运行
  • 界面

 

一、Jupyter Notebook 介绍
官网:http://jupyter.org/

文学编程
在介绍Jupyter Notebook之前,让我们先来看一个概念:文学编程 ( Literate programming ),这是由 Donald Knuth 提出的编程方法。传统的结构化编程,人们需要按计算机的逻辑顺序来编写代码;与此相反,文学编程则可以让人们按照自己的思维逻辑来开发程序。
简单来说,文学编程的读者不是机器,而是人。 我们从写出让机器读懂的代码,过渡到向人们解说如何让机器实现我们的想法,其中除了代码,更多的是叙述性的文字、图表等内容。这么一看,这不正是数据分析人员所需要的编码风格么?不仅要当好一个程序员,还得当好一个作家。那么 Jupyter Notebook 就是不可或缺的一款集编程和写作于一体的效率工具。

历史传承
也许说到 Jupyter 你会觉得陌生,但想必你或多或少听过鼎鼎大名的 IPython。其实Jupyter 脱胎于 IPython 项目,IPython 顾名思义,是专注于 Python 的项目,但随着项目发展壮大,已经不仅仅局限于 Python 这一种编程语言了。Jupyter 的名字就很好地释义了这一发展过程,它是 Julia、Python 以及 R 语言的组合,字形相近于木星(Jupiter),而且现在支持的语言也远超这三种了。

优点
以下列举了 Jupyter Notebook 的众多优点:
1. 极其适合数据分析
想象一下如下混乱的场景:你在终端中运行程序,可视化结果却显示在另一个窗口中,包含函数和类的脚本存在其他文档中,更可恶的是你还需另外写一份说明文档来解释程序如何执行以及结果如何。此时 Jupyter Notebook 从天而降,将所有内容收归一处,你是不是顿觉灵台清明,思路更加清晰了呢?
支持多语言
也许你习惯使用 R 语言来做数据分析,或者是想用学术界常用的 MATLAB 和 Mathematica,这些都不成问题,只要安装相对应的核(kernel)即可。这里列出了 Jupyter 支持的所有语言,供您参考。

2. 分享便捷
支持以网页的形式分享,GitHub 中天然支持 Notebook 展示,也可以通过 nbviewer 分享你的文档。当然也支持导出成 HTML、Markdown 、PDF 等多种格式的文档。

3. 远程运行
在任何地点都可以通过网络链接远程服务器来实现运算,这里给出一个远程运行的例子,可以体验一下 Jupyter Notebook。

4. 交互式展现
不仅可以输出图片、视频、数学公式,甚至可以呈现一些互动的可视化内容,比如可以缩放的地图或者是可以旋转的三维模型。这就需要交互式插件(Interactive widgets)来支持,更多内容请参考这里。

二、Jupyter Notebook 使用入门
安装
本人在python3,windows环境直接通过pip安装:

pip install jupyter notebook

运行
安装成功后,通过cmd命令行方式切换到python运行环境下,然后直接命令行中输入:

jupyter notebook

此时你的Web浏览器被自动打开,显示文件目录。通过点击右上角的 new 创建新文档。

界面
Notebook 文档是由一系列单元(Cell)构成,主要有两种形式的单元:
代码单元:这里是你编写代码的地方,通过按 Shift + Enter 运行代码,其结果显示在本单元下方。代码单元左边有 In [1]: 这样的序列标记,方便人们查看代码的执行次序,如下图:


Markdown单元:在这里对文本进行编辑,采用 markdown的语法规范,可以设置文本格式、插入链接、图片甚至数学公式。同样使用Shift+Enter运行markdown单元来显示格式化的文本,如下图:

类似于Linux的Vim编辑器,在notebook中也有两种模式:
编辑模式:编辑文本和代码。选中单元并按 Enter 键进入编辑模式,此时单元左侧显示绿色竖线。


命令模式:用于执行键盘输入的快捷命令。通过Esc键进入命令模式,此时单元左侧显示蓝色竖线。


如果要使用快捷键,首先按Esc键进入命令模式,然后按相应的键实现对文档的操作,注意查看所有快捷命令可以按H。
比如切换成代码单元(Y)或markdown 单元(M),或者在本单元的下方增加一单元(B)。

当命令模式切换到编辑模式,只要点击具体单元Cell输入框就可以进行编辑了。

以上主要是Jupyter Notebook简单的一些介绍,具体高级用法可以在使用当中学习。

以上文章主要借鉴了作者:“鱼心DrFish” ,链接:https://www.jianshu.com/p/86117613b7a6,在此感谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django模板之显示QuerySet内容,字典中内容

camera和idproject都为QuerySet,如下图为验证 camera内容显示方法为: 可以看出idproject中迭代为dict类型。HTML中读写形式为: 显示结果: 参考自 https://blog.csdn.net/gaoxiaoba/article/details/52469614

Python操作文件和目录

读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱码。此时手动添加encodingutf-8表示以utf-8的方式打开。 当然Python写…

Docker高效管理指南:一键清理、停止与删除所有容器和镜像

前言 在当今Java开发的日常工作中,Docker已经成为一项不可或缺的技术。它不仅提供了便捷的开发和部署方式,还为项目的可移植性和可伸缩性带来了新的可能性。我们熟悉了一些基本的Docker命令,如启动、关闭、删除容器以及删除镜像,…

【Python】提升Python程序性能的好习惯

掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费。 追求性能极限是一个有趣的游戏, 而过度优化就会变成嘲弄了。虽然Python授予你与C接口无缝集成的能力, 你必须问自己你花数小时的艰辛优化工作用户是否买帐. 另一方面, 牺牲代码的可…

【Python】这些Python骚操作,你值得拥有

Python 我用的比较多一点,对一些小玩意有些许了解。我不大清楚骚操作怎么定义,只好说说我觉得 Python 和其它语言(比如 C 和 JAVA 等)设定比较奇特的地方。 看了后,说不定你马上就有玩一玩 Python 的冲动了。 0x00 世…

Python的os.walk()方法详细讲解

我们可以看到,返回的是一个元组,元祖每一个元素即上面一行的内容,所以用for去遍历它。 然后对应的将这行的第一列的内容给root 第二列 给dirs 第三列 给files 元组每一个元素就是遍历一棵树(包括子树) 根的孩子(注意 不…

【批处理】windows环境将文件隐藏到图片中

有时候有些敏感的文件不希望别人知道,我们有很多方法,今天我们介绍的方法是将文件隐藏到图片中去。方法如下: 1. 先将要隐藏的文件压缩到一个rar文件放在一个目录,比如:视频.rar 2. 在同一目录下放置一张图片IMG_4337.…

Python 解决 :NameError: name 'reload' is not defined 问题

Python 解决 &#xff1a;NameError: name reload is not defined 问题 解决&#xff1a;NameError: name reload is not defined 问题 对于 Python 2.X&#xff1a; import sys reload(sys) sys.setdefaultencoding("utf-8") 123对于 < Python 3.3&#xff1…

【批处理】windows环境将文件放置在虚拟盘

上一个文章我们说了如何将敏感文件隐藏到图片中&#xff0c;那个其实还是有点麻烦&#xff0c;要的时候需要改文件后缀名&#xff0c;而且通过文件的大小可以看出图片可疑。 上一文章链接&#xff1a;https://blog.csdn.net/sinat_37967865/article/details/83047245 今天我们…

No module named 'crispy_forms'等使用pycharm开发

我在最近的django开发过程中遇到一些问题&#xff0c;就是我在github上下载xadmin源码包之后&#xff0c;然后setings之中也进行了配置&#xff0c;出现了如下问题 但是我按照报错的信息觉得应该时这个模块没有安装&#xff0c;所以我使用pip进行安装然后又报错了&#xff0c;…

【Word】一些实用的小技巧

目录&#xff1a; 一、快速输入上下标文字 二、快速输入方框√ 三、竖向删除每行相同文字 一、【Word】快速输入上下标文字 有时候在用word处理文本时&#xff0c;不免要用一些上下标文字&#xff0c;比如算数用的平方立方&#xff0c;化学方程式 CH42O2 点燃 CO22H2O a2 b2…

python 安装echarts

python 安装echarts&#xff1a; python -m pip install pyecharts -i https://pypi.doubanio.com/simple

【Excel】设置自定义单元格格式

我们知道Excel中设置单元格格式时可以通过自定义方式设置格式&#xff0c;但是具体如何使用一般人都不是很清楚&#xff0c;其实自定义功能非常强大。本文主要介绍一下自定义单元格格式的小技巧&#xff0c;主要流程&#xff1a; 1.选中要设置单元格格式的单元格&#xff0c;通…

pycharm可视化数据库

注意&#xff1a;pycharm社区版本身没有database 网上教程都是直接打开右上角的database&#xff0c;但是我死活也没找到&#xff0c;后来发现应该是因为社区版的问题&#xff0c;需要自己安装&#xff0c;详细步骤如下图。 1.打开File—》Settings—-》Plugins搜索database&a…

【Python】logging内置模块基本使用

logging模块是Python内置的标准模块&#xff0c;主要用于输出运行日志&#xff0c;可以设置输出日志的等级、日志保存路径、日志文件回滚等。 print也可以输入日志&#xff0c;logging相对print来说更好控制输出在哪个地方&#xff0c;怎么输出及控制消息级别来过滤掉那些不需要…

Django实现省市县级联菜单

1、创建工程mymenu和项目menu。 2、改变mymenu中setting.py的DIRS&#xff0c;STATICFILES_DIRS DIRS: [BASE_DIR "/templates"], #后面若无数据&#xff0c;不可以加逗号 STATICFILES_DIRS (os.path.join(BASE_DIR,static), ) 3、在menu中建立views.py和mode…

【Python】字典dict类型转换为列表list类型

我们有时候用chrome浏览器获取Network中XHR的数据&#xff0c;得到的是Json类型&#xff0c;有时也可能是python中的字典类型&#xff0c;如果获取的数据比较复杂&#xff0c;通过简单的处理我们是无法拿到我们需要的数据的&#xff0c;这时我们就需要对数据进行转换处理&#…

【Python】xlwt和xlrd模块写入和读取.xls版本EXCEL

我们经常与EXCEL打交道&#xff0c;其实我们可以使用python的相应模块去处理EXCEL文件。2003以前的表格以.xls后缀&#xff0c;用xlwt来写表格&#xff0c;用xlrd来读取表格&#xff1b;搭配xlutils修改表格。2007的表格以.xlsx后缀&#xff0c;用openpyxl来读写表格。 以下是…

将json字符串转换为json对象

一般处理服务器传来的json值时&#xff0c;我们都会用两种方式进行处理&#xff1a; 1.一种为使用eval()函数。var dataObjeval("("data")");//转换为json对象&#xff08;注&#xff1a;data为json数据&#xff09;&#xff1b; 2. 使用Function对象来进…

【Python】pymysql模块处理Mysql数据库

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库&#xff0c;Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范&#xff0c;并包含了 pure-Python MySQL 客户端库。 在使用 PyMySQL 之前&#xff0c;我们需要确保 PyMySQL 已安装,可以直接pip安…