查看原文
其他

使用jupyter notebook搭建数据科学最佳交互式环境

louwill 机器学习实验室 2019-04-07

  

     小编近来在猛攻Python,毕竟江湖人传“人生苦短,我用Python”。当然了,自然也不是为了跟风,从去年开始小编的Python水平就一直处于从入门到放弃状态,而今为了提升核心竞争力,必然要下功夫学习一番。作为当下数据科学最热的两门编程语言,R和Python一直都是圈内焦点。小编今天要谈的是如何使用jupyter notebook这款神器来搭建最佳的数据科学交互式环境,以及jupyternotebook的一些使用的简单教程。

      熟悉Python的朋友都知道,除了官方版本的CPython解释器,IPython是一款基于CPython的交互式解释器,而jupyter notebook就是以IPython为内核的一款交互式笔记本,可以全程从用户的角度展现分析逻辑和思维。随着jupyternotebook项目的不断发展壮大,其本身也不再仅局限于Python这一种编程语言了,Jupyter 的名字就很好地诠释了这一发展过程,它是 Julia、Python 以及R语言的组合,拼写相近于木星(Jupiter),而且现在支持的语言也远超这三种了。当然,我们从数据科学的角度出发,将jupyter notebook搭建成包括Python和R这两种数据科学语言的交互式环境就足够了。

jupyter的安装非常容易,可以直接在cmd中使用pip工具安装:

 pip install jupyter notebook

      当然如果你是使用anaconda套件来安装Python的,系统就直接内置了jupyter,然后在cmd中直接键入jupyter notebook即可启动jupyter的交互式环境。如果想在指定文件下创建 .ipynb文件,也可直接在cmd中定位到该文件夹下启动jupyter。启动成功后浏览器会自动跳转到jupyter notebook工作界面:



 然后在界面右上角New菜单栏下即可根据需要创建新的notebook:

       小编这里选的是Python3,所以交互式界面打开就可以看到满满的基于IPython的工作环境:

 

      接下来就可以在这个本子上愉快的写代码啦。

 

      像这样子每一个长方形小框框我们称之为cell,独立的一块一块存在,每一个cell需要单独运行,除了可以单击上面一排的按键之外,jupyter notebook为我们提供了大量的快捷键,比如说运行的快捷键为Shift+Enter。

      除了cell单元用来编写代码之外,jupyter还提供了可用于文本编辑的markdown单元,在菜单栏点击下拉即可找到,基于markdown的文本编排操作方法cell单元一致:

     

      另外,需要提及的一点是,jupyter的编辑界面包括编辑模式和命令模式两种。编辑模式就是在cell或者markdown单元下编辑文本和代码,定位到具体的单元,Enter即可进入编辑模式,编辑模式下单元左侧会呈现出绿色竖线。而命令模式则用于执行刚刚上面提到的键盘输入的快捷命令,使用Esc键进入命令模式,此时单元左侧呈现蓝色竖线。

 

      本文在这里列出命令模式和编辑模式下jupyter所支持的一些常用的快捷命令:

      命令模式:

快捷键

操作含义

快捷键

操作含义

Enter

进入编辑模式

Shift+V

粘贴到上方单元

Shift+Enter

运行本单元并选中下个单元

V

粘贴到下方单元

Ctrl+Enter

运行本单元

Z

删除恢复的最后一个单元

Alt+Enter

运行本单元并在其下方插入新单元

双击D

删除选中的单元

Y

单元转入代码状态

Shift+M

合并选中的单元

M

转入markdown状态

Ctrl+S/S

保存文档

R

转入raw状态

L

转换行号

1-6

设定1-6级标题

O

转换输出

K

选中上方单元

Esc/Q

关闭页面

J

选中下方单元

H

显示快捷键帮助

A

在上方插入新单元

双击I

中断内核连接

B

在下方插入新单元

双击O

重启内核连接

X

剪切选中的单元

Shift

忽略

C

复制选中的单元

Space

向下滚动

   

编辑模式:

快捷键

操作含义

快捷键

操作含义

Tab

补全代码或缩进

Shift+Tab

提示

Ctrl+]

缩进

Ctrl+[

解除缩进

Ctrl+A

全选

Ctrl+Z

还原

Ctrl+Y

重做

Ctrl+Home

跳到单元开头

Ctrl+Up

跳到单元开头

Ctrl+End

跳到单元末尾

(编辑模式其余快捷命令与命令模式下相同)

 

      上面的例子小编全部都是从Python来看的,前面也提到了,jupyter notebook发展到如今,已经可以支持数十种编程语言了,那我们想要让我们的jupyter里面包含R的Kernel也并不是什么难事,下面就简单介绍下如何让你的R代码在jupyter里面跑起来。

      jupyter notebook目前可支持的全部编程语言可见:

     https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

 


      要想在jupyter notebook中运行R语言其实非常简单,按顺序安装下面扩展包即可:  

install.package('repr','IRdisplay','evaluate','crayon','pbdZMQ','devtools','uuid','digest')
library(devtools)
install_github("IRkernel/IRkernel")

IRkernel::installspec()

       在R中执行上述四行代码,重新打开你的jupyternotebook即可看到对于R的支持标志:

      

      简单测试几行R代码,比如说小编这里使用科比的职业生涯投篮数据绘制出科比的投篮方式选择的可视化图。

     


        这样,基于jupyter notebook的R和Python的数据科学工作环境就搭建好啦。大家也来试一试吧!




往期精彩:

R语言爬虫系列6|动态数据抓取范例

R语言爬虫系列5|正则表达式与字符串处理函数

R语言爬虫系列4|AJAX与动态网页介绍

R语言爬虫系列3|HTTP协议

R语言爬虫系列2|XML&XPath表达式与R爬虫应用

R语言爬虫系列1|HTML基础与R语言解析

如何写出整洁规范的R代码?是时候讨论一下代码规范性了

R语言向量化运算:apply函数族用法心得

Python面向对象编程:数据封装、继承和多态

[译]为什么R语言是当今最值得学习的数据科学语言






一个数据科学热爱者的学习历程



长按二维码.关注数据科学家养成记










    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存