首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

小编近来在猛攻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所支持的一些常用的快捷命令:

命令模式:

编辑模式:

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

上面的例子小编全部都是从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的数据科学工作环境就搭建好啦。大家也来试一试吧!

今日4折优惠课程,扫码下图立即抢购

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106B1FZA700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券