Jupyter Notebook最强指南,没有之一

Aidan075
• 阅读 1924

Jupyter Notebook最强指南,没有之一

(文末有福利)

Jupyter Notebook最强指南,没有之一

Python语言是一种强大而简洁的编程语言。据IEEE Spectrum消息,Python在2020年继续蝉联最受欢迎的编程语言第一名。对于刚接触Python的新手来说,配置一个容易上手又适合自己的开发环境无疑是成功掌握这门编程语言的第一步。对于Python IDE的比较和推荐,各路高手也说法不同,其中被推荐频率最高的当属Pycharm、VS Code和Jupyter Notebook了。

Jupyter Notebook对于Python用户来说想必也不算太陌生。在深度学习领域,吴恩达老师在Cousera上发布的系列课程已经成为公认的入门必学内容。大家可能也注意到了,在《神经网络和深度学习》的第二节课中他专门为学生录制了一个使用Jupyter Notebook的快速指南,并且在很多课程中都通过JupyterNotebook展示代码实现的部分。

Jupyter Notebook最强指南,没有之一)Jupyter Notebook最强指南,没有之一

这个像笔记本一样又能写文档又能运行代码的工具是怎么来的呢?在Jupyter项目创立之初,创始人Fernando Pérez希望能够在同一个计算工具平台上融合Ju(Julia)、Py(Python)和R这三种科学运算语言的,并且向伽利略发现木星(Jupiter)卫星时所用的笔记本致敬,因此创造了Ju-Py-te-R这个名字。不过经过了五年的发展,现在Jupyter能够支持的语言已经多达四十种,成为一个能够把软件代码、计算输出、解释文档、多媒体资源整合在一起的多功能科学运算平台

Jupyter Notebook最强指南,没有之一

看过了吴恩达在Jupyter Notebook上的演示后,你会发现它最大的特点便是可以直接在Web浏览器上编辑和运行,并且允许用户把代码写入独立的单元格中单独执行。这意味着每个格子里都可以编写完马上执行,验证我们的思路是否有问题,并且查看变量的输出情况是否符合预期判断。

Jupyter Notebook最强指南,没有之一

如果单元格里的代码有语法错误,运行后在格子下方会直接显示错误提示信息,就像下面这样。由于每个代码块都是单独运行测试的,所以如果查找错误我们也无需从头开始执行代码或者手动增加断点进行调试。这个写代码——运行——确认结果/修改代码——在下一个格子里写代码的过程便称为交互式编程。

Jupyter Notebook最强指南,没有之一

Jupyter Notebook提供的交互环境是它的重要功能,也是它在数据分析任务中格外受到欢迎的原因之一。在Notebook中可以方便地调用Python的第三方库,如pandas、Bokeh等,对数据进行清理、统计和可视化的操作,并且在单元格中可以分步输出变量或者绘制图表等等。对于数据分析工程师自身来说,这样既可以验证该步骤中的思路是否有问题,又可以通过输出的直观结果(变量值、图形等)构思后面的步骤怎样执行,极大地提高了任务的整体工作效率。

Jupyter Notebook最强指南,没有之一

除了代码之外,你应该也很好奇为什么吴恩达老师的Notebook看起来像一份包含了标题和章节完整讲义吧?这需要归功于JupyterNotebook对Markdown语言的支持。Markdown是一种轻量级标记语言,非常简洁易学,常用于技术文档的写作。基于Markdown语法也衍生出了许多对其功能进行扩展的语法,其中JupyterNotebook使用的是以GitHub为主要风格的GFM语法。

Jupyter Notebook最强指南,没有之一

只需要在工具栏中将单元格的格式指定为Markdown,就可以在格子中输入注释、笔记等一切你想要添加的文本,简洁的Markdown语法能帮助你更专注于文本内容。在内容输入完成后运行该单元格,具有格式的文本则会以html的形式显示。另外如果想要上传图片,直接将图片拖拽到Markdown格式的单元格内即可。

Jupyter Notebook最强指南,没有之一)Jupyter Notebook最强指南,没有之一

掌握了这些功能,你就有机会高效地进行数据分析。同时,在团队沟通和教学展示等环境下,你可以在Jupyter Notebook的界面上快速地复现全部分析过程,并且通过文字叙述、可视化内容、数学公式与代码的整合来降低理解门槛、提高沟通效率。Jupyter Notebook在数据分析场景下的卓越优势是Pycharm、Vim等其他编辑器所无法匹敌的。这种设计思想也来自于文式编程的范式,即在代码中穿插着对代码逻辑的自然语言解释和宏片段,从而使编码者能够以更贴近人类思维习惯的方式进行工作。这种方式特别适用于科学计算和开发开源软件等场景。

Python新手想动手拥有和吴恩达同款的生产工具,可以从这本书开始。《Jupyter Notebook数据分析入门与实战》重点介绍了如何使用JupyterNotebook 进行数据可视化分析,以及自定义Jupyter Notebook、使用云端Jupyter Notebook等一系列实用操作。

Jupyter Notebook最强指南,没有之一

这本书对新手的友善度非常高,作者先从Jupyter Notebook的安装和基础操作讲起。读者对照本书一边阅读一边动手实践即可快速入门,Jupyter Notebook中特有的快捷操作和魔术命令也可以一网打尽。

Jupyter Notebook最强指南,没有之一

掌握了基本的Notebook操作后我们就可以让代码跑起来了。之后作者依次介绍了使用pandasMatplotlibBokeh三个Python库进行数据分析和可视化的方法,并且根据自己丰富的经验归纳了许多常见问题,比如在绘图时中文出现乱码、输出结果中子图边缘重叠等等。作者针对这些新手上路时常令人苦恼的“坑”给出了详细的解决方法,使刚上手的读者顺利“出坑”从而信心大增。

Jupyter Notebook最强指南,没有之一

pandas、Matplotlib和Bokeh都是在数据分析中通用程度高、广受欢迎的Python库,其中许多进阶功能即使是Python和Jupyter Notebook的老用户也不一定掌握,比如绘制特殊图形、合并不同类型图形、设定颜色和颜色映射等等。跟随本书熟练使用这些技巧,就可以在数据分析报告中展示“如何优雅地使用Jupyter Notebook”了。

Jupyter Notebook最强指南,没有之一

Jupyter Notebook最强指南,没有之一

本文转转自微信公众号凹凸数据原创https://mp.weixin.qq.com/s/Nt-S87j6bhgM2BztypeFOA,可扫描二维码进行关注: Jupyter Notebook最强指南,没有之一 如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
2年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这