ipython notebook教程
一、简介
Jupyter Notebook是一个开源的Web应用程序,允许用户创建和共享包含代码、方程式、可视化和文本的文档。它的用途包括:数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等等。它具有以下优势:
- 可选择语言:支持超过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以上)。有两种安装方式:使用Anaconda安装或使用pip命令安装。关于安装的全部信息可以在官网读到:安装Jupyter。
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
python3 -m pip install jupyter
- 1
- 2
如果已经安装了Python 2:
python -m pip install --upgrade pip
python -m pip install jupyter
- 1
- 2
恭喜,你已经成功安装好了!
2.3运行Jupyter Notebook
成功安装Jupyter Notebook后,在Terminal (Mac / Linux)或Command Prompt(Windows)中运行以下命令就可打开Jupyter Notebook。
jupyter notebook
- 1
下面演示一下在Windows系统中打开Jupyter Notebook:



参阅Windows 常用 CMD 命令了解关于Command Prompt更多信息。
参阅运行Notebook了解更多详情。
三、主面板(Notebook Dashboard)
打开Notebook,可以看到主面板。在菜单栏中有Files、Running、Clusters、Conda四个选项。用到最多的是Files,我们可以在这里完成notebook的新建、重命名、复制等操作。具体功能如下:

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

至于Clusters、Conda一般用不到,暂不做介绍,后续补充。
四、编辑界面(Notebook Editor)
一个notebook的编辑界面主要由四部分组成:名称、菜单栏、工具条以及单元(Cell),如下图所示:

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

4.2菜单栏
菜单栏中有File、Edit、View、Insert、Cell、Kernel、Help等功能,下面逐一介绍。
4.2.1 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中的按钮选项如下图所示:

具体功能如下表:
| 选项 | 功能 |
|---|---|
| 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 Help | notebook使用指南 |
| Markdown | Markdown使用指南 |
| 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用法:

其他非常用的用法需要时可以再查阅。
六、魔法函数
使用魔法函数可以简单的实现一些单纯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 | 设置为当异常发生时展示详细的异常信息 |
| %debug | bug调试,输入quit退出调试 |
| %env | 列出全部环境变量 |
注意这些命令是在Python kernel中适用的,其他 kernel 不一定适用
七、其他
(1)按tab键查看提示信息或者补全命令

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

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

ipython notebook教程的更多相关文章
- jupyter(ipython notebook) 安装和入门教程
近期大家无论是自己做数据分析还是紧急答辩做PPT,可能都需要画一些数据的展示图:以前大家都是用excel画图,但excel画图存在一定的局限性,比如你要画个累积直方图,excel就很麻烦了,所以给大家 ...
- ipython notebook使用教程
在一次师兄(师兄博客地址)的例会汇报中,介绍了ipython notebook,当时觉得很酷炫,渐渐自己使用的时候才发现真的很强大.抽空整理下,找了些资料进行补充,并挨个进行了实现,留个笔记,也欢迎喜 ...
- ipython+notebook使用教程(转载)
ipython是python交互环境的增强版 IPython notebook目前已经成为用Python做教学.计算.科研的一个重要工具.IPython Notebook使用浏览器作为界面,向后台的I ...
- Ipython的安装/ipython notebook的简单使用
安装了pyhton的windows版的shell好久了,今天才听说Ipython这个东西,确实在windows下的python shell很难用,一旦输入错误就要重新来过 了解了下ipython,然后 ...
- 安装ipython notebook及基本命令(快捷键)
转载自:http://121.42.47.99/yuenshome/wordpress/?p=2622 目前基本上是Pycharm和ipython notebook结合起来做东西,ipython no ...
- [转]IPython Notebook简介1
原文:http://hyry.dip.jp/tech/slice/slice.html/35 Python Notebook简介1 作者 : RY 标签: cython ipython-note ...
- 向IPython Notebook中导入.py文件
IPython Notebook使用起来简洁方便,但是有时候如果需要导入一个现有的.py文件,则需要注意选择导入的方法以达到不同的效果.目前遇到3种方法. (1) 将文件保存为.ipynb格式,直接拖 ...
- .ipynb文件 与ipython notebook
没有安装ipython notebook 后看见.ipynb文件直接手足无措了 一.安装ipython notebook 使用命令 pip ipython [all] 为所有用户安装 ipython ...
- 通过SSH远程使用ipython notebook
本文讲述如何在本地用浏览器运行远程服务器上的iPython notebook服务. 在远程机器上,启动IPython notebooks服务: remote_user@remote_host$ ipy ...
随机推荐
- Jenkins安装部署使用图文详解(非常详细)
前言 最近公司需要弄一套自动化运维部署,于是抽空学习了一下,用了两天左右完成Jenkins的安装部署和各种项目的配置化,于是整理一下进行分享. 介绍 Jenkins是一个独立的开源软件项目,是基于Ja ...
- win7(X64)+wdk7驱动环境搭建
!!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist ----- 蓝 屏 警 告 --- 加载驱动的操作请在虚拟机中完成, 可以有效避免物理机蓝 ...
- 【LeetCode】862. Shortest Subarray with Sum at Least K 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 队列 日期 题目地址:https://leetcod ...
- 【LeetCode】287. Find the Duplicate Number 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 保存已经访问过的数字 链表成环 二分查找 日期 题目 ...
- 教学日志:javaSE-循环语句
一.while循环和do...while循环 /* while循环:先判断条件,再执行逻辑代码 四部分组成: 1.初始化:循环的初始化变量 2.条件判断:条件返回必须是true或false 3.循环体 ...
- Entropy, relative entropy and mutual information
目录 Entropy Joint Entropy Conditional Entropy Chain rule Mutual Information Relative Entropy Chain Ru ...
- CS5216 DP转HDMI 1080P方案|CS5216参数|CS5216中文规格书
Capstone CS5216是一款单端口/中继器,具有重新定时功能.它支持交流和直流耦合3.0-Gbps操作,可编程均衡和抖动清除.它包括DP电缆适配器寄存器,可用于识别电缆适配器的功能.这个抖动清 ...
- 编写Java程序,跑道长 50m,模拟 3 名学生同时在跑道跑步的场景 3名同学相当于3个线程对象
查看本章节 查看作业目录 需求说明: 跑道长 50m,模拟 3 名学生同时在跑道跑步的场景 3名同学相当于3个线程对象 实现思路: 创建 Java 项目,在项目中创建StudentRunning类,该 ...
- 【】JSON语法RFC4627
Network Working Group D. Crockford Request for Comments: 4627 JSON.org Category: Informational July ...
- gRPC创建Java RPC服务
1.说明 本文介绍使用gRPC创建Java版本的RPC服务, 包括通过.proto文件生成Java代码的方法, 以及服务端和客户端代码使用示例. 2.创建生成代码工程 创建Maven工程,grpc-c ...