不论你是刚开始学 Python,仍是正在啃数据分析的骨头,对你来讲,不断在各类命令行窗口和编辑器里切来切去,或者不断打开各类窗口查看 matplotlib 的输出之类的繁琐操做,必定是屡见不鲜了。哎呀,这都 8102 年了,除了又大又笨重的 IDE,难道就没有什么简单而直观的办法,让咱们这些新手能管理和运行代码吗?html
固然有啊,仍是免费的咧!数据库
这款神器就叫 Jupyter Notebook,它必定能拯救你于水深火热之中!浏览器
Jupyter Notebook 是一款 Web 应用,它能让用户将上面说的各类窗口里的东西,所有组合到一个可读性好,易于共享,且对新手友好的文档中。这个文档里能够包括:markdown
● live code (e.g. Python code) 机器学习
可执行的代码,好比咱们须要的 Python 代码编辑器
● visualizations
可视化的数据库图表,或者代码执行以后生成的可视化效果,好比 matplotlib 输出的图像等函数
● explanatory text (written in markdown syntax) 工具
各类解释性文字,例如用 markdown 语法写的格式化说明文本,Latex写的数学方程等学习
所以,你能够方便地一边写代码,一边写许多带格式的注释文本,还能让运行结果实时在页面内显示出来。因此,Jupyter Notebook 很适合如下一些用途使用:spa
● 学习并尝试运行 Python 代码,观察其效果
● 数据处理和转换
● 数值模拟分析
● 统计建模
.
Jupyter Notebook 是一个 Web 应用程序,便于建立和共享文学化程序文档,支持实时代码、数学方程、可视化和 Markdown,其用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。目前,数据挖掘领域中最热门的比赛 Kaggle 里的资料都是 Jupyter 格式。对于机器学习新手来讲,学会使用 Jupyter Notebook 很是重要.
要运行 Jupyter Notebooks,只需输入如下命令就可开始使用!
jupyter notebook
执行上面命令以后, Jupyter Notebook 将在你的默认浏览器中打开,网址为:http://localhost:8888/tree
在某些状况下,它可能没法自动打开。这种状况下,你的终端或者命令提示符中将会生成一个带有令牌密钥( token key )的网址。要打开 Notebook,你须要将整个 URL(包括令牌密钥)复制粘贴到浏览器中。
Notebook 打开后,你会在顶部看到三个选项卡:Files(文件),Running(运行)和 Clusters(集群)。Files 基本上列出了全部的文件,Running 显示你当前已经打开的终端和Notebooks,Clusters 由 IPython parallel 包提供,用于并行计算。
修改Jupyter的默认目录:
jupyter notebook --generate-config
打开 jupyter_notebook_config.py 修改配置 c.NotebookApp.notebook_dir为本身的工做目录
c.NotebookApp.notebook_dir = 'E:/jupyter/'
找到Jupyter Notebook,右键该快捷方式,选择属性进行快捷方式的设置,修改快捷方式的“目标(T)”,把目标框里面末尾的%USERPROFILE%去掉,删除到.py后面就行,别删多了。以下图:
不删这一句的话,jupter会使用user profile(用户用户预置文件,即默认目录),以后不管你怎么改配置文件都无论用。因此,谨记!
(%USERPROFILE%这个路径比较特别,它不是一个普通的文件夹,而是用户配置文件的根目录,用户的全部特定数据,包括文件和注册表信息都保存在这里。)
▌键盘快捷键——节省时间并提升效率!
快捷键是 Jupyter Notebooks 最好用的功能之一。当你想运行任何代码块时,你只须要按下Ctrl + Enter 便可。Jupyter Notebooks 提供的键盘快捷键很是多,为咱们节省了大量时间。
如下是咱们挑选的一些快捷键,你在开始使用 Notebooks 时会常常用到这些快捷键。我强烈建议你阅读这些内容的时候一个一个地尝试一下这些快捷键。
Jupyter Notebook 提供了两种不一样的键盘输入模式 - 命令和编辑。命令模式将键盘与 Notebook 命令绑定,并由具备蓝色左边距的带有灰色单元格边框来表示。编辑模式容许你将文本(或代码)输入活动单元格,并以绿色单元格边框表示。
使用 Esc 和 Enter 在命令和编辑模式之间跳转。如今就试试吧!
一旦进入命令模式(即没有活动单元格),就能够尝试如下快捷键:
A 键将在选中单元格上方插入新单元格,B 键将在选中单元格下方插入一个单元格
要删除单元格,请连续按两次 D 键
要撤消已删除的单元格,请按 Z 键
Y 键将当前的选中单元格变成代码单元格
按住 Shift + 向上或向下箭头键能够选择多个单元格。在多选模式下,按 Shift + M 会合并选中的单元格
F 键会弹出 “查找和替换” 菜单
处于编辑模式时(在命令模式下按 Enter 键进入编辑模式),你会发现如下快捷键很是好用:
Ctrl + Home 转到单元格的开头
Ctrl + S 会保存你的工做
和上面提过的同样,Ctrl + Enter 将运行你的整个单元格
Alt + Enter 不只会运行你的单元格,它还会在下方添加一个新的单元格
Ctrl + Shift + F 打开命令选项板
要查看整个键盘快捷键列表,请在命令模式下按 H 或转到 Help 菜单栏下的 Keyboard shortcuts。请常常检查这些内容,由于常常会有新的快捷键被加进来。
咱们还能够把单元格的类型从“代码(Code)”改为“文本(Markdown)”,这样你能够方便地用 markdown 语法写出带格式的注释或说明文本,方便你整理概括代码,或是在数据分析时描述须要处理的数据信息等。
改了单元格类型以后,你会发现前面的 In [ ]: 标记不见了。你在这个单元格中输入 markdown 标记时,会自动解析成不一样大小,不一样格式的文字标记.
若是你点击一个单元格的周边空白处或是输出部分,你选中的这个单元格就进入了命令模式,左边的指示条是蓝色:
若是你点击代码区域,则单元格就进入编辑模式,光标将在你点击的位置闪烁,而左边的指示条也变成绿色,表示你正在编辑代码内容:
在编辑时,你能够按 ESC 键退出编辑模式,回到命令模式。
这两种模式的区别在于,在编辑模式下,代码编辑框接收你全部的键盘输入,让你对代码/文本进行编辑。而在命令模式下,Jupyter Notebook 页面能响应你的各类键盘快捷命令。
Jupyter Notebook 还有一个很酷的功能:记录点。你能够为当前的 notebook 文件建立一个记录点,保存当前文件的全部状态。建立记录点以后,你能够随时返回到当前的状态,撤销这期间作出的任何修改。
要建立一个新的记录点,你只须要在菜单栏上选择 File(文件)-> Save and Checkpoint(保存记录点)便可。点完以后,你就会在标题旁看到 Checkpoint 保存的提示:
若是你想要返回到以前的 Checkpoint,你只须要在菜单栏上选择 File(文件)-> Revert to Checkpoint(返回到记录点),并点击对应的记录点的时间戳便可。
Cell有四种功能:Code、Markdown、Raw NBConvert、Heading,这四种功能能够互相切换。Code用于写代码,Markdown用于文本编辑,Raw NBConvert中的文字或代码等都不会被运行,Heading是用于设置标题的,这个功能已经包含在Markdown中了。四种功能的切换可使用快捷键或者工具条。
Code用于写代码,三类提示符及含义以下:
提示符 | 含义 |
---|---|
In[ ] | 程序未运行 |
In[num] | 程序运行后 |
In[*] | 程序正在运行 |
Markdown用于编辑文本,给出经常使用的Markdown用法:
其余很是用的用法须要时能够再查阅。
(1)按tab键查看提示信息或者补全命令
(2)在一个库、方法或变量前加上 ?,就能够得到它的一个快速语法说明
(3)使用分号能够阻止该行函数的结果输出
Jupyter清理全部单元格输出
选项 | 功能 |
---|---|
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 | 对全部单元的输出结果进行隐藏/显示/滚动/清除 |
这是 IPython 中定义的魔法函数(Magic Function),其意义是将那些用于matplotlib
绘制的图显示在页面里而不是弹出一个窗口,所以就不须要plt.show()
这一语句来显示图片,以下图所示:
由于这是 IPython 中的命令函数,所以只能在 jupyter notebook中使用,在其余地方使用或者直接运行会报错
************************************************************************************************************
IPthon 提供了功能强大,内建的Magic函数,定义为:IPython中将任何第一个字母为%
的行视为 Magic Function的特殊调用,能够控制 IPython, 为其添加许多系统功能
https://www.jianshu.com/p/2dda5bb8ce7d
连接:
http://www.javashuo.com/article/p-vrrrbobm-ec.html