R vs. Python 数据分析中谁与争锋?


Posted in Python onOctober 18, 2017

当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这两个非常强大、灵活的数据分析语言中二选一是非常困难的。

我承认我还没能从这两个数据科学家喜爱的语言中选出更好的那一个。因此,为了使事情变得有趣,本文将介绍一些关于这两种语言的详细信息,并将决策权留给读者。值得一提的是,有多种途径可以了解这两种语言各自的优缺点。然而在我看来,这两种语言之间其实有很强的关联。

Stack Overflow趋势对比

R vs. Python 数据分析中谁与争锋?

上图显示了自从2008年(Stack Overflow 成立)以来,这两种语言随着时间的推移而发生的变化。

R和Python在数据科学领域展开激烈竞争,我们来看看他们各自的平台份额,并将2016与2017年进行比较:

R vs. Python 数据分析中谁与争锋?

接下来我们将从适用场景、数据处理能力、任务、安装难度以及开放工具等方面详细了解这两种语言。

适用场景

R适用于数据分析任务需要独立计算或单个服务器的应用场景。Python作为一种粘合剂语言,在数据分析任务中需要与Web应用程序集成或者当一条统计代码需要插入到生产数据库中时,使用Python更好。

任务

在进行探索性统计分析时,R胜出。它非常适合初学者,统计模型仅需几行代码即可实现。Python作为一个完整而强大的编程语言,是部署用于生产使用的算法的有力工具。

数据处理能力

有了大量针对专业程序员以及非专业程序员的软件包和库的支持,不管是执行统计测试还是创建机器学习模型,R语言都得心应手。

Python最初在数据分析方面不是特别擅长,但随着NumPy、Pandas以及其他扩展库的推出,它已经逐渐在数据分析领域获得了广泛的应用。

开发环境

对于R语言,需要使用R Studio。对于Python,有很多Python IDE可供选择,其中Spyder和IPython Notebook是最受欢迎的。

热门软件包和库

下面罗列了R和Python推出的针对专业以及非专业程序员的最热门的软件包和库。

R:针对专业程序员的热门软件包

用于数据操作的 dplyr、plyr和 data table
用于字符串操作的 stringr
定期和不定期时间序列 zoo
数据可视化工具 ggvis、lattice 和 ggplot2
用于机器学习的 caret

R:针对非专业程序员的热门软件包

Rattle
R Commander
Deducer

这些完整的GUI包可以实现强大的数据统计和建模功能。

Python:针对专业程序员的热门库

用于数据分析的 pandas
用于科学计算的 SciPy NumPy
用于机器学习的 scikit-learn
图表库 matplotlib
statsmodels
用来探索数据,估算统计模型,并执行统计测试和单元测试

Python:针对非专业程序员的热门库

Orange Canvas 3.0是遵循GPL协议的开源软件包。它使用一些常用的Python开源库进行科学计算,包括numpy、scipy和scikit-learn。

R 和 Python 详细对比

R vs. Python 数据分析中谁与争锋?

正如本文开头提到的,R和Python之间有很强的关联,并且这两种语言日益普及。很难说哪一种更好,它们两者的整合在数据科学界激起了许多积极和协作的波澜。

总结

事实上,日常用户和数据科学家可以同时利用这两者语言,因为R用户可以在R中通过 rPython包来运行R中的Python代码,而Python用户可以通过RPy2库在Python环境中运行R代码。

原文:R vs. Python
作者:Sunil Kappal
译者:安翔

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中将阿拉伯数字转换成中文的实现代码
May 19 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
python开启多个子进程并行运行的方法
Apr 18 Python
python 网络编程常用代码段
Aug 28 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
用 Python 连接 MySQL 的几种方式详解
Apr 04 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
python实现逻辑回归的示例
Oct 09 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
Python如何解决secure_filename对中文不支持问题
Jul 16 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 #Python
python 中的divmod数字处理函数浅析
Oct 17 #Python
Python中的id()函数指的什么
Oct 17 #Python
Python中int()函数的用法浅析
Oct 17 #Python
一文总结学习Python的14张思维导图
Oct 17 #Python
python 中的int()函数怎么用
Oct 17 #Python
python遍历序列enumerate函数浅析
Oct 17 #Python
You might like
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP操作Redis数据库常用方法示例
2018/08/25 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
Python ini文件常用操作方法解析
2020/04/26 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
会计学专业学生的求职信范文
2014/01/27 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
个人优缺点总结
2015/02/28 职场文书
英语读书笔记
2015/07/02 职场文书
幼儿园保育员随笔
2015/08/14 职场文书