浅析Jupyter Notebook
一 概述
Jupyter Notebook是以web交互式的编程接口,是IPython notebook的升级版本。主要是针对python,另外支持运行 40 多种编程语言。Jupyter可以在个人机器开发,也可以连接到集群中使用分布式计算引擎spark等以及数据库(mysql/hive/hdfs)。
Jupyter相对于其他python编程工具来说,除了通常的新建、删除、更改、下载编程文件外,还支持在线编程运算可帮助持续开发,特别在企业中有些项目需要持续很长时间的开发,每天下班后关闭jupyter,只要服务器的kernel不关闭,jupyter会保存好开发时的数据缓存和可视化结果,第二天继续开发,而不用又从头再运行,再配合支持markdown的功能,使得jupyternotebook方便记录开发过程和教学。下面对特征工程的教程就是利用了在jupyternotebook中使用markdown生成的,并且支持对文章的内容字体高亮。
二 使用
2.1 启动Jupyter Notebook
当你开启 Jupyter Notebook 时,主界面如下所示:
如果想新建一个 notebook,只需要点击New
,选择你希望启动的 notebook 类型即可。
本次选择python3,出现如下界面:
其中上边显示的是代码单元格,对应的还有markdown单元格。
注:jupyter有三种类型的单元格:code cells,markdown cells,raw cells,常用的是code cells和 markdown cells类型。
简单的单元格操作:
ctrl+enter 执行选择的单元格
shift+enter 执行当前的单元格并选中下边的单元格
alt+enter 执行当前的单元格并在下边插入新的单元格
a 选中的单元格上边增加一个新的单元格
b 选中的单元格下边增加一个新的单元格
m 将当前的单元格由代码格式转化成markdown的格式
y 将当前的单元格由markdowm格式转化成代码格式
高级单元格操作:
- 如果想删除某个单元格,可以选择该单元格,然后依次点击
Edit
->Delete Cell
; - 如果想移动某个单元格,只需要依次点击
Edit
->Move cell [up | down]
; - 如果想剪贴某个单元测,可以先点击
Edit
->Cut Cell
,然后在点击Edit
->Paste Cell [Above | Below]
; - 如果你的 notebook 中有很多单元格只需要执行一次,或者想一次性执行大段代码,那么可以选择合并这些单元格。点击
Edit
->Merge Cell [Above | below]
。
记住这些操作,它们可以帮助你节省许多时间。
2.2 code cells
Code模式下,除了一般的python代码编辑外,jupyter还支持一些其他的编程语言,如R,Julia,bash等。不过需要使用magic单元。Magic单元分为两种,一种是line magics,另外一种cell magics。Line magic是通过在前面加%,表示magic只在本行有效。Cell magics是通过在前面加%%,表示在整个cell单元有效。比如使用%%bash,产生了linux下的shell环境(window下不支持,不过可以使用%%cmd),这样就可以运行pwd和ls命令了。
其中一些比较常用的magic:
%matplotline inline在jupyter内打印图片;
%load:将本地py文件代码导入进来,例如 %load test.py
%run:运行本地代码,利用这个magic,我们可以把一些头文件,基本设置,共同函数写在不同的notebook内,用的时候运行一下就可以了。
%time:统计代码运行的时间,当然还有更多有趣的一些magic属性来方便我们的工作。
2.3 markdown
jupyter提供的markdown是一个非常实用的功能,有了markdown可以将写代码和内容编辑非常好的结合,特别代码内容说明,markdown是一种纯文本标记语言,满足标题,公式,字体加粗,颜色甚至流程图和表格的内容编辑。更重要的是这类单元格也接受 HTML 代码。这样,你就可以在单元格类实现更加丰富的样式,添加图片,等等。
(1) 以#
标记开头,意味着这是一个一级标题。如果需要子标题,可以使用以下标记表示(改变单元格类型时弹出消息中有解释):
# : 一级标题
## : 二级标题
### : 三级标题
...
在#
之后写下文档的标题,然后计算该单元格。你会发现一个样式非常好看的标题。
(2)在 notebook 中添加 Jupyter 的 logo,将其大小设置为 100px x 100px,并且放置在单元格左侧:
<img src="http://blog.jupyter.org/content/images/2015/02/jupyter-sq-text.png"
style="width:100px;height:100px;float:left">
(3) 公式
# 这里举一个例子
$$\int_0^{+\infty} x^2 dx$$
结果如下图所示:
参考:https://www.cnblogs.com/nxld/p/6566380.html
浅析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应用程序,允许你创建和分享,包含活的代码,方程的文件,可视化和解释性文字.用途包括:数据的清洗和转换.数值模拟.统 ...
随机推荐
- git服务的安装和使用
参考文章 http://www.centoscn.com/image-text/install/2014/0514/2972.html 1.搭建Git服务器yum安装Git服务器创建一个git用户,用 ...
- Flask的Debug功能非常酷
Flask是一个Python开发框架.在试用的过程中发现它的debug功能非常cool.如下图所示,在出错的页面每条栈新的右边都有一个按钮,点击之后我们可以执行Python代码,而且非常重要的一点是通 ...
- 浅尝NODE.js
Node.js是Google公司开发的,安装好必要的环境以后,可以在服务端上跑的js,可以接收和回应http请求,所有方法都支持异步回调,大大提高事务执行效率. 学习地址:http://www.run ...
- 转换(旋转)transform
div { transform:rotate(180deg); -ms-transform:rotate(180deg); /* IE 9 */ -moz-transform:rotate(180de ...
- python多进程编程常用到的方法
python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU资源,在python中大部分情况需要使用多进程.python提供了非常好用的多进程包Multiprocessing,只需要定义 ...
- 如何浏览github上所有的公开的项目?
github 上面项目多如牛毛,没有维护的.没有意义的或太过偏门的项目也是数不胜数,所以直接按照字母或者更新顺序浏览实在没什么意义. 有一个做法是去 github 搜 awesome list,比如通 ...
- 51Nod 1294 修改数组 —— LIS
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1294 1294 修改数组 题目来源: HackerRank ...
- echarts如何显示在页面上
echarts如何显示在页面上 1.引入echarts的相关.js文件 <script src="js/echarts.min.js"></script> ...
- JS如何定义方法及调用 精选
简单搜索了下,遇到点问题1,经常在JS中看到如var foo = function(){}的形式foo是方法名还是对象名,如果想调用此方法,是用foo(),foo.function(),还是该如何正确 ...
- 机器学习(九)—逻辑回归与SVM区别
逻辑回归详细推导:http://lib.csdn.net/article/machinelearning/35119 面试常见问题:https://www.cnblogs.com/ModifyRong ...