Jupyter Notebook使用
不论你是刚开始学 Python,还是正在啃数据分析的骨头,对你来说,不断在各种命令行窗口和编辑器里切来切去,或者不断打开各种窗口查看 matplotlib 的输出之类的繁琐操作,一定是家常便饭了。哎呀,这都 8102 年了,除了又大又笨重的 IDE,难道就没有什么简单而直观的办法,让我们这些新手能管理和运行代码吗?
当然有啊,还是免费的咧!
这款神器就叫 Jupyter Notebook,它一定能拯救你于水深火热之中!
Jupyter Notebook 是一款 Web 应用,它能让用户将上面说的各种窗口里的东西,全部组合到一个可读性好,易于共享,且对新手友好的文档中。这个文档里可以包括:
● live code (e.g. Python code)
可执行的代码,比如我们需要的 Python 代码
● visualizations
可视化的数据库图表,或者代码执行之后生成的可视化效果,比如 matplotlib 输出的图像等
● explanatory text (written in markdown syntax)
各种解释性文字,例如用 markdown 语法写的格式化说明文本,Latex写的数学方程等
因此,你可以方便地一边写代码,一边写许多带格式的注释文本,还能让运行结果实时在页面内显示出来。所以,Jupyter Notebook 很适合以下一些用途使用:
● 学习并尝试运行 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的四种功能
Cell有四种功能:Code、Markdown、Raw NBConvert、Heading,这四种功能可以互相切换。Code用于写代码,Markdown用于文本编辑,Raw NBConvert中的文字或代码等都不会被运行,Heading是用于设置标题的,这个功能已经包含在Markdown中了。四种功能的切换可以使用快捷键或者工具条。
Code用于写代码,三类提示符及含义如下:
提示符 | 含义 |
---|---|
In[ ] | 程序未运行 |
In[num] | 程序运行后 |
In[*] | 程序正在运行 |
Markdown用于编辑文本,给出常用的Markdown用法:
其他非常用的用法需要时可以再查阅。
其他
(1)按tab键查看提示信息或者补全命令
(2)在一个库、方法或变量前加上 ?,就可以获得它的一个快速语法说明
(3)使用分号可以阻止该行函数的结果输出
Jupyter清理所有单元格输出
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 | 对所有单元的输出结果进行隐藏/显示/滚动/清除 |
%matplotlib inline
这是 IPython 中定义的魔法函数(Magic Function),其意义是将那些用于
matplotlib
绘制的图显示在页面里而不是弹出一个窗口,因此就不需要plt.show()
这一语句来显示图片,如下图所示:因为这是 IPython 中的命令函数,因此只能在 jupyter notebook中使用,在其他地方使用或者直接运行会报错
************************************************************************************************************
IPthon 提供了功能强大,内建的Magic函数,定义为:IPython中将任何第一个字母为%
的行视为 Magic Function的特殊调用,可以控制 IPython, 为其添加许多系统功能
https://www.jianshu.com/p/2dda5bb8ce7d
链接:
https://blog.csdn.net/guleileo/article/details/80490921
https://www.itcodemonkey.com/article/6025.html
https://blog.51cto.com/853056088/2162189
Jupyter Notebook使用的更多相关文章
- 远程访问jupyter notebook
远程访问Jupyter Notebook Jupyter Notebook很好用,但是直接远程在服务器上用体验当然不如本地计算机好,那么如何远程访问呢? 首先需要在服务器上安装好ipython, ju ...
- Python,Jupyter Notebook,IPython快速安装教程
0.安装环境 Windows10,Python3.5.1,IPython,jupyter notebook,and other functionality 官方安装文档Linux版3.x 官方安装文档 ...
- Jupyter Notebook 27绝技——27 Jupyter Notebook tips, tricks and shortcuts
转载自:https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter notebook, formerly ...
- Jupyter notebook 配置目录
默认打开Jupyter notebook,工作目录是C:\Users\Username,这里面有很多其它与Jupyter notebook无关的文件,也很有用,不能看着烦就删掉,所以需要修改Jupyt ...
- 如何用Jupyter Notebook打开Spark
电脑已经装了anaconda python,然后下载了spark2.1.0.因为版本太新,所以网上和书上的一些内容已经不再适用.比如关于如何使用IPython和Jupyter,教程给出的方法是用如下语 ...
- jupyter notebook + pyspark 环境搭建
安装并启动jupyter 安装 Anaconda 后, 再安装 jupyter pip install jupyter 设置环境 ipython --ipython-dir= # override t ...
- Jupyter notebook 安装,初步使用
在学习算法,图像处理过程中,理论结合实际的时候总要写一些程序,我用的是PYTHON.这时候,选择一款称手的工具比较重要.之前我用自带的IDLE,也还可以,但是操作不够便捷,文件组织也不是很好.后来想用 ...
- pyspark 中启动 jupyter notebook
还是打算选择python学习spark编程 因为java写函数式比较复杂,scala学习曲线比较陡峭,而且sbt和eclipse和maven的结合实在是让人崩溃,经常找不到主类去执行 python以前 ...
- 详解 jupyter notebook 集成 spark 环境安装
来自: 代码大湿 代码大湿 1 相关介绍 jupyter notebook是一个Web应用程序,允许你创建和分享,包含活的代码,方程的文件,可视化和解释性文字.用途包括:数据的清洗和转换.数值模拟.统 ...
- Docker 安装jupyter notebook
1. 利用image运行一个container sudo docker run -it --net=host tingting --net=host:让container可以上网,安装原来的sudo ...
随机推荐
- python接口自动化7-post文件上传
前言 文件上传在我们软件是不可少的,最多的使用是体现在我们后台,当然我们前台也会有.但是了解过怎样上传文件吗?这篇我们以禅道文档-创建文档,上传文件为例. post请求中的:Content-Type: ...
- node环境下多种方式“get数据解析”
1.自己写 const http = require('http'); http.createServer(function(req,res){ var get = {}; if(req.url.in ...
- 黄聪:PHP转换网址相对路径到绝对路径的一种方法
相信很多程序(尤其是采集类的程序)都会有需要把网址的相对路径转换成绝对路径的需要,例如采集到某页面的HTML代码中包含资源文件经常会看到这样的文件名: <link rel="style ...
- 转caffe scale layer
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u011681952/article/det ...
- nginx目录遍历漏洞复现
nginx目录遍历漏洞复现 一.漏洞描述 Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露. 二.漏洞原理 1. 修改nginx.conf,在如下图位置添 ...
- MongoDB系列---集合与文档操作03
MongoDB-——Collection 学习大纲: 1.集合操作 2.文档操作 知识回顾: 上一篇我们讲述了如何对MongoDB的权限和用户进行日常的基本操作,来达到我们对数据库的基本安全保障. 一 ...
- SPA项目开发登陆注册
使用vue-cli脚手架工具创建一个vue项目 vue init webpack pro01 npm安装elementUI cd pro01 #进入新建项目的根目录 安装: npm install a ...
- JDBC连接mysql的url的写法和常见属性
URL=jdbc:mysql://[host][:port]/[database] 其后可以添加性能参数:?[propertyName1=propertyValue1] & [property ...
- arcgis api 3.x for js 解决 textSymbol 文本换行显示(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- swift(五)swift的函数
/** * 函数的定义和调用 */ func showIntegerArray(array:[Int]) { for a in array { println("\(a)") } ...