别找了!这里就是Jupyter Notebook最详指南:入门+安装+扩展

一、简介

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

Jupyter Notebook是一个开源的Web应用程序,允许用户创建和共享包含代码、方程式、可视化和文本的文档,支持实时代码,数学方程,可视化和 markdown

1、具有以下用途:数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等等。

2、具有以下优势:

  • 可选择语言:支持超过40种编程语言,包括Python、R、Julia、Scala等。

  • 分享笔记本:可以使用电子邮件、Dropbox、GitHub和Jupyter Notebook Viewer与他人共享。

  • 交互式输出:代码可以生成丰富的交互式输出,包括HTML、图像、视频、LaTeX等等。

  • 大数据整合:通过Python、R、Scala编程语言使用Apache Spark等大数据框架工具。支持使用pandas、scikit-learn、ggplot2、TensorFlow来探索同一份数据。

二、安装与运行

虽然Jupyter可以运行多种编程语言,但Python是安装Jupyter Noterbook的必备条件(Python2.7,或Python3.3以上)。

关于安装的全部信息可以在官网读到:安装Jupyter。有两种安装方式:

  • 使用Anaconda安装
  • 使用pip命令安装。

2.1使用Anaconda安装

对于小白,强烈建议使用Anaconda发行版安装Python和Jupyter,其中包括Python、Jupyter Notebook和其他常用的科学计算和数据科学软件包。

首先,下载Anaconda。建议下载Anaconda的最新Python 3版本。其次,请按照下载页面上的说明安装下载的Anaconda版本。最后,安装成功!

2.2使用pip命令安装

对于有经验的Python用户,可以使用Python的包管理器pip而不是Anaconda 来安装Jupyter 。 
如果已经安装了Python 3:

python3 -m pip install --upgrade pip
pi3 install jupyter

如果已经安装了Python 2:

python2 -m pip install --upgrade pip
pip2 install jupyter

恭喜,你已经成功安装好了!

注意:在这较推荐使用Anaconda,因为它自带了Numpy、Scipy、Matplotlib等多种python开发包和Jupyter Notebook!

2.3运行Jupyter Notebook

成功安装Jupyter Notebook后,在Terminal (Mac / Linux)或Command Prompt(Windows)中运行以下命令就可打开Jupyter Notebook。

jupyter notebook1

下面演示一下在Windows系统中打开Jupyter Notebook:

打开Command Prompt

 输入 :jupyter notebook

执行上面命令之后, Jupyter Notebook 将在你的默认浏览器中打开,网址为:http://localhost:8888/tree

或者在开始菜单页面直接打开

 

三、主面板(Notebook Dashboard)

打开Notebook,可以看到主面板。在菜单栏中有Files(文件)、Running(运行)、Clusters(集群)三个选项。用到最多的是Files,我们可以在这里完成notebook的新建、重命名、复制等操作。

  • Files 基本上列出了所有的文件,
  • Running 显示你当前已经打开的终端和Notebooks,
  • Clusters 由 IPython parallel 包提供,用于并行计算。

具体功能如下:

image.png

 如果要打开一个新的 Jupyter Notebook,请单击页面右侧的“New”选项卡。在这里,你有四个选项可供选择:

  • ⦁ Python 3
  • ⦁ Text File (文本文件)
  • ⦁ Folder (文件夹)
  • ⦁ Terminal (终端)

1、Text File (文本文件)

        在 "Text File" 选项中,可得到一个空白的文档。输入你喜欢的任何字母,单词和数字。它基本上是一个文本编辑器(类似于 Ubuntu 上的应用程序),也可以选择一种语言(支持非常多的语言),然后用该语言来写一个脚本。还可以查找和替换文件中的单词。

2、Folder (文件夹)

       在 "Folder" 选项中, 顾名思义它的功能就是创建文件夹。阔以创建一个新文件夹来放入文件,重新命名或者删除它。

3、Terminal (终端)

       "Terminal" 的工作方式与你的 Mac 电脑或 Linux 电脑上的终端完全相同(或者 Windows 上的 cmd )。它在你的Web浏览器中支持终端会话。在这个终端中输入 python ,瞧!现在你已经可以开始写 python 脚本了。

在Running中,可以看到正在运行的notebook,我们可以选择结束正在运行的程序。

Notebook主面板:Running

至于Clusters、Conda一般用不到,暂不做介绍。

---创建python文件 --

从“New”选项中选择 "Python 3" 选项。你会看到如下的截图:

代码上方的菜单栏提供了操作单元格的各种选项:

insert (添加),edit (编辑),cut (剪切),move cell up/down (上下移动单元格),run cells(在单元格中运行代码),interupt (停止代码),save (保存工作),以及 restart (重新启动内核)

在下拉菜单中(如上所示),你有四个选项:

  • Code - 代码。
  • Markdown - 文本。可以在运行代码后添加结论,添加注释等。
  • Raw NBConvert - 命令行工具。可将你的笔记本转换为另一种格式(如 HTML)
  • Heading - 标题。可以将标题添加到单独的小节并使你的 Notebook 看起来干净整洁。这个选项现在已经集成到 Markdown 选项中。添加一个“##”,以确保在你之后输入的内容将被视为标题。

四、编辑界面(Notebook Editor)

一个notebook的编辑界面主要由四部分组成:名称、菜单栏、工具条以及单元(Cell),如下图所示:

notebook界面

4.1 名称

在这里,我们可以修改notebook的名字,直接点击当前名称,弹出对话框进行修改: 
notebook名称修改

4.2菜单栏

菜单栏中有File、Edit、View、Insert、Cell、Kernel、Help等功能,下面逐一介绍。

4.2.1 File

File中的按钮选项如下图所示:

File中的按钮选项

具体功能如下表:

选项功能
New Notebook新建一个notebook
Open…在新的页面中打开主面板
Make a Copy…复制当前notebook生成一个新的notebook
Rename…notebook重命名
Save and Checkpoint将当前notebook状态存为一个Checkpoint
Revert to Checkpoint恢复到此前存过的Checkpoint
Print Preview打印预览
Download as下载notebook存为某种类型的文件
Close and Halt停止运行并退出该notebook

4.2.2 Edit

Edit中的按钮选项如下图所示:

Edit中的按钮选项

具体功能如下表:

选项功能
Cut Cells剪切单元
Copy Cells复制单元
Paste Cells Above在当前单元上方粘贴上复制的单元
Paste Cells Below在当前单元下方粘贴上复制的单元
Paste Cells & Replace替换当前的单元为复制的单元
Delete Cells删除单元
Undo Delete Cells撤回删除操作
Split Cell从鼠标位置处拆分当前单元为两个单元
Merge Cell Above当前单元和上方单元合并
Merge Cell Below当前单元和下方单元合并
Move Cell Up将当前单元上移一层
Move Cell Down将当前单元下移一层
Edit Notebook Metadata编辑notebook的元数据
Find and Replace查找替换,支持多种替换方式:区分大小写、使用JavaScript正则表达式、在选中单元或全部单元中替换

4.2.3 View

View中的按钮选项如下图所示:

具体功能如下表:

选项功能
Toggle Header隐藏/显示Jupyter notebook的logo和名称
Toggle Toolbar隐藏/显示Jupyter notebook的工具条
Cell Toolbar更改单元展示式样

View中的功能可以让用户更好的展示自己的notebook,但对编写代码、实现功能没有影响。

4.2.4 Insert

功能:在当前单元上方/下方插入新的单元。

4.2.5 Cell

选项功能
Run Cells运行单元内代码
Run Cells and Select Below运行单元内代码并将光标移动到下一单元
Run Cells and Insert Below运行单元内代码并在下方新建一单元
Run All运行所有单元内的代码
Run All Above运行该单元(不含)上方所有单元内的代码
Run All Below运行该单元(含)下方所有单元内的代码
Cell Type选择单元内容的性质
Current Outputs对当前单元的输出结果进行隐藏/显示/滚动/清除
All Output对所有单元的输出结果进行隐藏/显示/滚动/清除

4.2.6 Kernel

[图片上传中…(5.png-36664e-1514169774199-0)]

选项功能
Interrupt中断与内核连接(等同于ctrl-c)
Restart重启内核
Restart & Clear Output重启内核并清空现有输出结果
Restart & Run All重启内核并重新运行notebook中的所有代码
Reconnect重新连接到内核
Change kernel切换内核

4.2.7 Help

选项功能
User Interface Tour用户使用指南,非常棒的功能,带你全面了解notebook
Keyboard Shortcuts快捷键大全
Notebook Helpnotebook使用指南
MarkdownMarkdown使用指南
Python…pandas各类使用指南
About关于Jupyter Notebook的一些信息

4.3 工具条

工具条中的功能基本上在菜单中都可以实现,这里是为了能更快捷的操作,将一些常用按钮放了出来。下图是对各按钮的解释。

4.4 单元(Cell)

在单元中我们可以编辑文字、编写代码、绘制图片等等。对于单元的详细内容放在第五节中介绍。

五、单元(Cell)

5.1两种模式与快捷键

对于Notebook中的单元,有两种模式:

命令模式(Command Mode)与编辑模式(Edit Mode),在不同模式下我们可以进行不同的操作。

如上图,在编辑模式(Edit Mode)下,右上角出现一只铅笔的图标,单元左侧边框线呈现出绿色,点Esc键或运行单元格(ctrl-enter)切换回命令模式。

在命令模式(Command Mode)下,铅笔图标消失,单元左侧边框线呈现蓝色,按Enter键或者双击cell变为编辑状态。

5.1.1命令模式下的快捷键

5.1.2编辑模式下的快捷键

注意不要死记硬背,在使用过程中需要什么就去查,多用用就能记住了。

5.2 Cell的四种功能

Cell有四种功能:Code、Markdown、Raw NBConvert、Heading,这四种功能可以互相切换、可以使用快捷键或者工具条。

  • Code用于写代码;
  • Markdown用于文本编辑;
  • Raw NBConvert中的文字或代码等都不会被运行;
  • Heading是用于设置标题的,这个功能已经包含在Markdown中了。

Code用于写代码,三类提示符及含义如下:

提示符含义
In[ ]程序未运行
In[num]程序运行后
In[*]程序正在运行

Markdown用于编辑文本,给出常用的Markdown用法:

其他非常用的用法需要时可以再查阅。

5.3 快捷键

一旦进入命令模式(即没有活动单元格),就可以尝试以下快捷键:

A 键:将在选中单元格上方插入新单元格

B 键:将在选中单元格下方插入一个单元格 

D 键:连续按两次,删除单元格

F 键:弹出 “查找和替换” 菜单

Y 键:将当前的选中单元格变成代码单元格

Z 键:要撤消已删除的单元格

Shift + 向上或向下箭头键:可以选择多个单元格

Shift + M键: 多选模式时,合并选中的单元格

Ctrl + Home键: 转到单元格的开头

Ctrl + S键: 保存工作

Ctrl + Enter键: 将运行你的整个单元格

Ctrl + Shift + F键: 打开命令选项板

Enter 键:编辑模式时,进入编辑模式

Alt + Enter键: 不仅运行单元格,还在下方添加一个新的单元格

六、魔法函数

使用魔法函数可以简单的实现一些单纯python要很麻烦才能实现的功能。

  • %:行魔法函数,只对本行代码生效。 
  • %%:Cell魔法函数,在整个Cell中生效,必须放于Cell首行。 
  • %lsmagic:列出所有的魔法函数 。
  • %magic:查看各个魔法函数的说明。 
  • ?后面加上魔法函数名称,可以查看该函数的说明

一些常用魔法函数的示例:

魔法函数作用
%%writefile调用外部python脚本
%run调用外部python脚本
%timeit测试单行语句的执行时间
%%timeit测试整个单元中代码的执行时间
% matplotlib inline显示 matplotlib 包生成的图形
%%writefile写入文件
%pdb调试程序
%pwd查看当前工作目录
%ls查看目录文件列表
%reset清除全部变量
%who查看所有全局变量的名称,若给定类型参数,只返回该类型的变量列表
%whos显示所有的全局变量名称、类型、值/信息
%xmode Plain设置为当异常发生时只展示简单的异常信息
%xmode Verbose设置为当异常发生时展示详细的异常信息
%debugbug调试,输入quit退出调试
%env列出全部环境变量

注意这些命令是在Python kernel中适用的,其他 kernel 不一定适用。

七、其他

(1)按tab键查看提示信息或者补全命令

(2)在一个库、方法或变量前加上 ?,就可以获得它的一个快速语法说明

(3)使用分号可以阻止该行函数的结果输出

 

八、Jupyter Notebooks 扩展

8.1 Nbextensions简介

扩展可以有效提高你的 Jupyter Notebooks 的生产力。安装和使用扩展的最佳工具之一是 Nbextensions

8.2 Nbextensions的安装

它需要两个简单的步骤来安装(也有其他方法,但我发现这是最方便的):

第1步:用 pip 来安装它

pip install jupyter_contrib_nbextensions

第2步:安装关联的 JavaScript 和 CSS 文件

jupyter contrib nbextension install --user

完成此操作后,你会在 Jupyter Notebook 主页顶部看到一个 Nbextensions 选项卡,这里面有很多非常棒的扩展供你使用。

要启用一个扩展,只需点击它来激活。

8.3 最有用的8个扩展

  1. Code prettify:重新格式化和美化代码块的内容。
  2. Printview:添加了一个工具栏按钮来调用当前 Notebook 的 jupyter nbconvert,并可选择在新的浏览器标签中显示转换后的文件。
  3. Scratchpad:增加一个便捷单元格,它可以让你运行你的代码而不必修改你的 Notebook。
  4. Table of Contents (2):收集Notebook 中的所有标题,并将它们显示在一个浮动窗口中。
  5. A 2to3 converter:......

详细请点击链接观看我另一篇文章:

https://blog.csdn.net/weixin_44015669/article/details/104975271给!最详版的Jupyter NBextensions 插件介绍

九、保存、共享Notebook

这是 Jupyter Notebook 中最重要和最棒的功能之一。

当我需要写博客文章,但我的代码和注释都保存在 Jupyter 文件中时,我需要先将它们转换为另一种格式。请记住,这些 Notebooks 采用 json 格式,在共享它时这并不是很有帮助。我无法在电子邮件或博客上发布不同的单元格或代码块,对吧?

进入 Files 菜单,你会看到一个 Download As 选项:

你可以将你的 Notebook 保存为 7 个选项中的任何一个。

  • 最常用的是 .ipynb 文件,这样其他人就可以在自己的机器上复制代码,
  • 也可以保存为 .html 文件, 打开之后是一个网页。
  • 也可以使用 nbconvert :手动将你的 Notebook 转换为不同的格式,如 HTML 或 PDF。
  • 还可以使用 jupyterhub:则可以在服务器上托管 Notebooks 并与多个用户共享。许多顶尖的研究项目都使用这个功能用于协作。

十、最佳实践指南

虽然单独工作可能很有趣, 但大多数时候你会发现自己是在一个团队中工作。在这种情况下,遵循指导方针和最佳实践非常重要,这样可以确保你的代码和 Jupyter Notebooks 被正确标注,以便与你的团队成员保持一致。

下面列出在 Jupyter Notebooks 上一些最佳实践指南:

  1. 对于任何程序员来说最重要的事情之一:始终确保为代码添加合适的注释!确保你有代码所需的文档。
  2. 考虑一个命名方案,并坚持在所有代码中使用以确保一致性。这样其他人更容易读懂你的代码。
  3. 无论你需要什么库,在 Notebooks 开始时导入它们(并在它们旁边添加注释,说明导入它们的目的)。
  4. 确保代码中行与行之间有适当间隔,不要把循环和函数放在同一行中。
  5. 有时候你会发现你的文件变得非常繁重。看看有没有方法隐藏你认为对于以后参考不太重要的代码。
  6. Notebooks 看起来整洁干净, 让人赏心悦目也非常重要。
  7. Matplotlib 可以很漂亮整洁地展示你的 Notebook,看看怎么使用它!

地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb

另一个提示!

  • 当你想创建演示文稿时,首先想到的工具是 PowerPoint 和 Google Slides。其实你的 Jupyter Notebooks 也可以创建幻灯片!还记得我说它超级灵活吗? 我一点都没有夸大。
  • 要将你的 Notebooks 转换为幻灯片,请转到  View -> Cell Toolbar,然后单击 Slideshow。看!现在,每个代码块都在右侧显示一个 Slide Type 的下拉选项。

它提供了以下 5 个选项:

好好试一试每一个选项以更好地理解它,它会改变你呈现你的代码的方式!

总结:以上是Jupyter Notebook最详指南,希望可以帮助到:也在变得更好自己而努力奋斗的你,喜欢可以收藏点赞留言哦,共勉!!

 

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:程序猿惹谁了 设计师:我叫白小胖 返回首页

打赏作者

哆啦A梦_i

你的鼓励:我最大的动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值