大家好,我是Peter~

很多读者问过我,Peter文章中的Python代码都是用的什么编辑器写的?

今天就公开啦:Jupyter Notebook,没有Pycharm,没有Vscode,没有Sublime text。只有一款工具:Jupyter Notebook。从2019年至今,使用了两年半多的时间,今天就好好聊聊它~

工欲善其事,必先利其器

1、官网学习地址:

https://jupyter.org/

2、使用说明:

https://jupyter-notebook.readthedocs.io/en/stable/notebook.html

3、知乎很好的教程:

https://zhuanlan.zhihu.com/p/33105153

一、目录

二、谁在用Jupyter Notebook

也许还有朋友不知道Jupyter Notebook,到底都是谁在用它?

这是从官网上看到的使用者:谷歌、微软、NASA、IBM等国际知名公司都在其中。所以,你确定还不用吗?

三、用Jupyter Notebook写了什么

既然Jupyter Notebook这么受欢迎,那么Peter都用它写了什么?(ipynb文件都在Jupyter notebook完成)

1、Pandas系列的文章

2、Plotly系列文章

3、可视化库Pyecharts的使用

总结:Peter所有的文章都是在 Jupyter  Notebook 中完成的

四、什么是Jupyter Notebook

4.1简介

Jupyter Notebook是基于网页的用于交互计算的一款应用程序。它可被应用于整个计算过程:从开发文档编写、运行代码和到展示结果。

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

如在编程过程中需要编写说明文档,可在同一个页面中使用Markdown语法直接编写,便于作及时的说明和解释。

4.2组成

Jupyter notebook主要是由两个部分组成:网页和文档

上面已经介绍了Jupyter  Notebook中基于网页的应用程序,在Jupyter 的整个网页应用中结合了多个元素:说明文档、计算公式、文档编写、可视化动态图、甚至是可以嵌入PPT等。总之,这款网页应用的程序能够实现各种功能

Jupyter Notebook中的所有程序都能够以各种形式的输入和输出:公式、文档、富媒体形式等。

Jupyter的文档是保存为后缀名为.ipynbJSON格式文件,不仅便于版本控制,也方便与他人共享。

此外,文档还可以导出为:HTML、LaTeX、PDF、Markdown等格式的文件,十分方便和互联网化!

4.3特点

  • 编程便捷:在jupyter notebook中编程,具有语法高亮、缩进、tab补全等功能;同时能够在浏览器中直接运行代码

  • 支持Markdown:在在jupyter notebook中支持Markdown语法的,能够直接编写Markdown文档

  • 具有记忆功能:在jupyter notebook中产生的信息(同一次运行)具有记忆功能

  • 文档输出多样化:除了支持Markdown,还支持PDF、PPT、Latex公式、HTML、py文件等多种格式

  • 动态可视化:jupyter notebook中生成的图形可以是动态可视化的

五、安装

建议直接通过anaconda来安装Jupyter notebook,这样后续省去很多麻烦。

anacoda是全球最大的数据科学平台,一个基于Python的环境管理工具,相比其他库管理工具,它更适合数据工作者。

安装了anaconda之后,不仅是Jupyter notebook,很多python的第三方库,比如:pandas、numpy等都会自动安装好,实在是方便。

anaconda安装可自行搜索教程,傻瓜式安装

推荐几个安装教程:

1、Windows系统:https://zhuanlan.zhihu.com/p/75717350

2、MacOS系统:https://blog.csdn.net/lq_547762983/article/details/81003528

3、Linux系统(Ubuntu):https://zhuanlan.zhihu.com/p/84544848

安装包下载地址:https://www.anaconda.com/products/individual#Downloads

六、启动

(1)在安装好了Jupyter notebook之后,我们可以在任意位置启动它,直接输入jupyter notebook即可启动。

执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook:

(base) peter:pandas系列教程 peter$ pwd     -- 查看当前的目录
/Users/peter/Desktop/WeChat/文章/pandas系列教程  (base) peter:pandas系列教程 peter$ jupyter notebook   -- 输入 jupyter notebook 表示启动

!!!注意:启动Jupyter之后我们的全部操作都不要关闭终端,否则的话notebook就会断开和本地服务器的连接。

(2)启动之后就来到了初始页面,包含你当前目录的全部文件(文件夹和文档):

我们看到notebook默认的地址是localhost:8888,也就是默认本机的8888端口。当我们开启了多个notebook,会自动变成8889,8890等端口。

当然,我们也可以自定义端口:

jupyter notebook --port 9988   # 使用9988端口

(3)启动之后我们可以新建一个ipynb的文件:

七、使用

在启动Jupyter Notebook,并且创建了新的文件之后,我们便可以开始在里面进行编码和文档写作。下面讲讲如何使用Jupyter Notebook。

首先我们需要明白一点:在Jupyter Notebook中有两种模式

  • 命令模式:键盘输入运行程序命令,此时单元格是蓝色

  • 编辑模式:允许你向单元格中输入代码或者文本内容,此时单元格是绿色

7.1主页面

主页面分为4个部分:

  • notebook名称,可重命名

  • 菜单栏

  • 工具栏

  • 代码单元格

7.2帮助文档

如果你是个新手,可以在notebook中直接查看帮助文档:

!jupyter notebook -h    # 感叹号!不能少

7.3重命名

默认的名字是“未命名”,给文件重命名:图解Pandas的apply函数

7.4文件

【文件】菜单中主要是对各种文件的输入和输出操作,特别是将ipynb文件下载成各种形式进行输出,十分方便:

7.5运行代码

当我们在代码的单元格中输入了代码,如何运行?

1、单击【运行】按钮

2、快捷键

将光标放在我们需要运行的代码框中,然后 Shift+Enter 即可运行~

3、运行全部代码

如果我们想直接从头运行整个notebook中的全部代码,如下操作:【服务】到【重启&运行所有】

7.6内省

在一个对象的前后使用问号?可以显示出关于该对象的概要信息,这个对象可以是自建的,也可以是Python中自带的:

print函数和自定义函数的自省概要信息:

使用双问号?还有个用途是显示函数的源代码:

7.7%run

%run命令可以用来运行任意的python文件:

  • Python文件的后缀为“.py”

  • “%run”后跟的是Python文件的绝对路径

%run Python文件的绝对路径

假设我们在当前目录下有个python文件:

  • 定义了3个变量

  • 给定了一个返回值result


我们在notebook中运行py文件:查看3个变量和返回值的情况

八、扩展功能

8.1安装

Jupyter notebook本身功能其实不是很多,所以通常会给它安装一个扩展,安装之后就可以起飞了。

安装和启动命令如下:

# 安装Jupyter的配置器
pip install jupyter_nbextensions_configurator# 启动配置器
jupyter nbextensions_configurator enable --user

8.2显示代码行数

当一个单元格中的代码很多行,我们想显示行数:

8.3编码Markdown文档

当Peter需要在notebook中做笔记的时候,都是使用的Markdown。在Jupyter notebook中是可以直接Markdown语法来编写内容的,两种方式可以实现。

关于什么是Markdown以及Markdown的语法,直接在公众号中回复Markdown就可以获取免费的PPT来进行学习。

方法1:下拉选项中选择【标记】

方法2:快捷键的使用:【左侧蓝+M键】,Peter常用

8.4生成目录

在使用Markdown的时候是有不同层级的目录,可以显示在notebook中。首先在扩展中需要开启这个功能:

点击启用目录生成:目录默认是在左边,也是按照层级来实现的

我们把光标放在目录上,呈现带+的符号,可以拖到右边:

除了在左侧生成目录,还可以在整个ipynb文件的最上面生成目录:

不管是左侧还是最上面的目录,当我们点击其中某个标题的时候,都会自动跳转到相应的位置,查看、定位文档或者代码超级方便。

8.5标题高亮

安装了扩展之后,我们还可以对标题进行高亮显示:

  • 有3种颜色可供选择

  • 设置了高亮之后标题中便会高亮

8.6LaTex公式

既然Jupyter notebook能够使用Markdown,那么我们可以是Jupyter Notebook中编辑LaTex公式,举一个例子:在Markdown格式下的cell中输入如下内容:

$$ P(A \mid B) = \frac{P(B \mid A) \, P(A)}{P(B)} $$

便会生成相应的LaTeX公式:

8.7输出多个结果

一般在notebook中只会输出一个结果,通过设置能够同时输出多个。

默认情况下只会输出最近一个变量的值**,例子中是b**。

通过设置InteractiveShell.astnodeinteractivity参数为all,就可以让所有的变量或者声明都能显示出来,添加两行代码便可实现输出多个变量的效果:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'

8.8拼写检查

这是检查拼写错误的一个扩展,能够快速的发现我们拼写中的错误。需要主要的是这个插件是在Markdown格式下作用的:

本意表达的是:This is wrong question

8.9隐藏输入

当我们只想查看输出out部分的内容,可以将输入的代码进行隐藏:

下面是隐藏之前的效果:

九、快捷键

1、命令模式快捷键(按 Esc 键开启):

  • 命令模式将键盘命令与Jupyter Notebook笔记本命令相结合,可以通过键盘不同键的组合运行笔记本的命令。

  • esc键进入命令模式。

  • 命令模式下,单元格边框为灰色,且左侧边框线为蓝色粗线条

快捷键 作用
Enter 转入编辑模式
Shift-Enter 运行本单元,选中下个单元
Ctrl-Enter 运行本单元
Alt-Enter 运行本单元,在其下插入新单元
Y 单元转入代码状态
M 单元转入 markdown 状态
R 单元转入 raw 状态
1、2、6 设定 1 、2、6级标题
Up 选中上方单元
K 选中上方单元
Down 选中下方单元
J 选中下方单元
Shift-K 连续选择上方单元
Shift-J 连续选择下方单元
A 在上方插入新单元
B 在下方插入新单元
X 剪切选中的单元
C 复制选中的单元
Shift-V 粘贴到上方单元
V 粘贴到下方单元
Z 恢复删除的最后一个单元
D,D 删除选中的单元
Shift-M 合并选中的单元
Ctrl-S 保存当前 NoteBook
S 保存当前 NoteBook
L 开关行号
O 转换输出
Shift-O 转换输出滚动
Esc 关闭页面
Q 关闭页面
H 显示快捷键帮助
I,I 中断 NoteBook 内核
0,0 重启 NoteBook 内核
Shift 忽略
Shift-Space 向上滚动
Space 向下滚动

2、编辑模式快捷键( 按 Enter 键启动)

  • 编辑模式使用户可以在单元格内编辑代码或文档。

  • enterreturn键进入编辑模式。

  • 编辑模式下,单元格边框和左侧边框线均为绿色

快捷键 作用
Tab 代码补全或缩进
Shift-Tab 提示
Ctrl-] 缩进
Ctrl-[ 解除缩进
Ctrl-A 全选
Ctrl-Z 撤销
Ctrl-Shift-Z 重做
Ctrl-Y 重做
Ctrl-Home 跳到单元开头
Ctrl-Up 跳到单元开头
Ctrl-End 跳到单元末尾
Ctrl-Down 跳到单元末尾
Ctrl-Left 跳到左边一个字首
Ctrl-Right 跳到右边一个字首
Ctrl-Backspace 删除前面一个字
Ctrl-Delete 删除后面一个字
Esc 切换到命令模式
Ctrl-M 切换到命令模式
Shift-Enter 运行本单元,选中下一单元
Ctrl-Enter 运行本单元
Alt-Enter 运行本单元,在下面插入一单元
Ctrl-Shift– 分割单元
Ctrl-Shift-Subtract 分割单元
Ctrl-S 保存当前 NoteBook
Shift 忽略
Up 光标上移或转入上一单元
Down 光标下移或转入下一单元
Ctrl-/ 注释整行/撤销注释

十、魔术命令

IPython的特殊命令被称为魔术命令,这些命令被设计用于简化常见任务。

官网地址:https://ipython.readthedocs.io/en/stable/interactive/magics.html

魔术命令的前缀符号是百分号%,例如%timeit用来检查一段Python代码执行的时间。魔术命令可以直接使用,也可以赋值给变量再使用:

下面

数据分析利器Jupyter Notebook!相关推荐

  1. Python之Idel利器jupyter notebook

    jupyter (之前的 ipython notebook )于我的最大意义在于,让学习进程和探索进程变得可累积,正如它的原先名字中的 notebook 所暗示的那样,作为学习的记录者,方便你随时捡起 ...

  2. python 数据分析 |2. Jupyter Notebook配置和使用

    Jupyter Notebook功能强大,数据科学家可以在其中进行数据可视化,也可以创建和共享他们的文档,能帮助数据简化工作流程,实现更高的生产力和更便捷的协作. 目录 1. Jupyter Note ...

  3. python的jupyter的使用教程-Jupyter notebook快速入门教程

    作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 本篇将给大家介绍一款超级好用的工具:Jupyter notebook. 为什么要介绍这款工具呢? 如果你想使用Pyt ...

  4. Jupyter notebook快捷操作

    Jupyter notebook快捷操作 一开始学数据分析对于Jupyter notebook的快捷操作有些不熟悉,特此总结.一来便于自己忘记时查阅,二来也可以帮助同样有需要的靓仔 Shift+Ent ...

  5. anaconda moviepy_Anaconda的安装和Jupyter Notebook使用

    在之前的文章中已经介绍过Python3环境的搭建,如果你学习Python是做科学计算,那么你会有更好的开发环境的选择,那就是Anaconda,本篇中将向你介绍环境的安装,以及一个快速开发Python代 ...

  6. 学习笔记——Jupyter notebook快速入门教程

    本篇将给大家介绍一款超级好用的工具:Jupyter notebook. 为什么要介绍这款工具呢? 如果你想使用Python学习数据分析或数据挖掘,那么它应该是你第一个应该知道并会使用的工具,它很容易上 ...

  7. Jupyter notebook的安装及使用

    本篇将给大家介绍一款超级好用的工具:Jupyter notebook. 为什么要介绍这款工具呢? 如果你想使用Python学习数据分析或数据挖掘,那么它应该是你第一个应该知道并会使用的工具,它很容易上 ...

  8. 良心总结!Jupyter Notebook 从小白到高手,保姆教程来了!

    转自:尤而小屋 大家好,我是菜鸟哥! 今天给大家分享一篇关于数据科学利器Jupyter Notebook的快速入门和使用教程,大家可以对比学习一下: 一.什么是Jupyter Notebook? 1. ...

  9. notebook python 内嵌 数据库_python数据分析:在jupyter notebook上使用pythonSQL做数据分析...

    python数据分析:在jupyter notebook上使用python&SQL做数据分析 发布时间:2019-01-14 21:14, 浏览次数:1143 , 标签: python jup ...

最新文章

  1. 如何查看SE16N修改的表的记录
  2. c语言链表与字符结合,C语言实现双链表的(终端)添加和查询
  3. [BUUCTF-pwn]——ciscn_2019_n_8
  4. 《C++ Primer》13.1.1节练习
  5. SQL中基于代价的优化
  6. 【matplotlib】远程服务器使用报错 $DISPLAY
  7. protoc执行命令
  8. python爬取美女图片_python爬取百度美女图片
  9. 【程序设计基础与实验】地铁售票查询系统
  10. 【本科毕业设计】基于单片机的智能家居防火防盗报警系统
  11. python百度关键词自动提交订单_Python+selenium刷百度关键词点击
  12. html 网站发布到公网
  13. 圆形数字时钟同时显示数字时钟、日期和星期特效
  14. FME进阶视频教程: FME使用技巧之高级扇出,讲解在FME中输出数据的高级方式,满足数据个性化分类输出的需求
  15. Linux文件解hgc,Linux从实模式到保护模式.pdf
  16. 工行二维码支付接口及回调接口
  17. 极路由系列 刷机方法
  18. 在英特尔硬件上部署深度学习模型的无代码方法 关于OpenVINO深度学习工作台的三部分系列 第二部
  19. C++ 检测程序是否在运行
  20. P4455 [CQOI2018]社交网络

热门文章

  1. Jetson tk1 安装 CUDA,ROS,OpenCV和kinect2以及刷机以及ssh远程控制
  2. linux source命令
  3. 【GDKOI2016Day1T1-魔卡少女】【拆位】线段树维护区间内所有连续子区间的异或和...
  4. CSS 盒子模型(转)
  5. SharePoint 2010 单点登录
  6. antlr.collections.AST.getLine()I问题的起因及解决
  7. VIM7.3添加中文帮助文档
  8. 深入浅出Pytorch:02 PyTorch基础知识
  9. 【怎样写代码】向现有类型“添加”方法 -- 扩展方法(二):扩展方法的实现与调用
  10. 【Python】zip函数