楼主: bystander1022
1930 1

[学习分享] 【软件介绍】数据科学界华山论剑:Python 与 R 巅峰对决 [推广有奖]

  • 4关注
  • 12粉丝

教授

70%

还不是VIP/贵宾

-

威望
0
论坛币
7816 个
通用积分
5.0112
学术水平
42 点
热心指数
52 点
信用等级
31 点
经验
1392 点
帖子
231
精华
0
在线时间
2655 小时
注册时间
2010-3-29
最后登录
2024-2-27

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
【软件介绍】数据科学界华山论剑:Python 与 R 巅峰对决2015-06-21 Eric [url=]社会科学中的数据可视化[/url]
“社会科学中的数据可视化”第107篇推送

大数据文摘授权转载

来源|DataCamp

编译|于婷婷 魏子敏 康欣

如果你是数据分析领域的新兵,那么你一定面临着艰难的抉择——在进行数据分析时,到底应该使用哪种语言:R还是Python?在网络上,也经常出现诸如此类问题:“我想学习机器语言,我应该用哪种编程语言”或者“我想快速解决问题,我应该用R还是Python”等。尽管两种编程语言目前都是数据分析社区的佼佼者,但它们仍在为成为数据科学家的首选编程语言而战斗。今天,就让我们从数据科学的角度,一步步比较这两大编程语言。


#1 对阵双方介绍



Ladies and Gentlemen,让我们隆重的介绍今天的对阵双方:R和Python!R语言当前版本是2015年6月更新的3.2.1版。Python 2当前版本是2015年5月更新的2.7.10版,Python 3当前的版本是2015年2月更新的3.4.3版。



R语言由Ross Ihaka和Robert Gentleman于1995年开发,作为贝尔实验室S编程语言的一种实现,其开发环境主要由C语言、Fortran以及R来完成。Python的发布年份其实远在R之前。Guido Van Rossum于1991年开发完成了Python,并由Python软件基金会(PSF)负责其发展。其开发灵感主要来自C语言和Modula-3,部分来自ABC语言。Python的名字取自喜剧蒙提·派森的飞行马戏团(Monty Python's Flying Circus)。



从定位角度看,R致力于提供对用户友好的数据分析、统计分析以及绘图模型;而Python则强调生产效率和代码的可读性。



双方的用户群也有一定的差异。R主要用于学术和研究领域,如今正在快速拓展其企业市场的运用。Python的使用者是那些想深入钻研数据分析或应用统计技术的程序员,以及向数据科学寻求帮护的开发者。用一句话总结:“越接近统计研究跟数据分析人,越倾向R;越接近工程开发工程环境的人,越倾向Python”。



R和Python都得到大量的社区支持,包括邮件列表(Mailing Lists)、用户贡献文档、以及Stackoverflow网站。此外,R还可以从研究人员、数据科学家、统计学家以及数量分析专家那里得到更多的支持;而Python则从开发者和程序员那里得到较多支持。



实用性来讲,R通过几行代码就可以写出统计模型,尽管R有样式表,但并不是每个人都使用它们,可以用若干种方式写出同样的功能。在Python中,写代码和调试代码则更容易一些,主要是因为它的“优美”语法。但是代码的缩进会影响它的意思。并且,在Python中,永远只有一种方式来写同样的功能。



灵活性方面,在R中使用复杂的公式很容易。各种各样的统计检验和统计模型都是现成的且易使用;相比R,Python在完成以前没有做过的新奇的事情上,具有很强灵活性,开发人员也常会用它写网站或其它应用脚本。



关于易学习性,开始时,学习R有一个陡峭的学习曲线,一旦了解了最基本知识,就能很容易地学习更高级知识。因此,对于有经验的程序员而言,R并不难。建议R学习者查看DataCamp上的练习和教程。

由于Python看重可读性和易用性,使得它的学习曲线相对比较低且平缓。因此,对于初级程序员而言,Python 被认为是一个很好的编程语言。对于Python学习者的建议是,尝试用《笨办法学Python》来学习,同时看视频做练习。



两者都有自己的代码库。CRAN(The Comprehensive R Archive Network)是一个很大的R包库,用户很容易为其贡献代码。R包是一个包含R函数、数据和编译代码的集合,R包在R中用一行代码即可安装。PyPi(Python Package Index)是Python软件库,用户可以为PyPi贡献代码,但实践起来有点困难。

计算机科学教授Norm Matloff 曾说过,“Python并未建立起一个能与CRAN媲美的巨大的代码库,R在这方面领先巨大。但是,统计学并不是Python的中心任务。”



其实R与Python并不是完全孤立的。在R中,用户可以通过rPython包运行Python代码,从Python传递或获取数据,调用Python函数或者方法。而在Python中也可以使用RPy2包运行R代码,这提供了一个从Python到R的底层接口。



以上,从定性的角度进行了比较。现在,看看双方的定量数据。



先看人气排名,下图左边为2013-2015年2月R和Python人气比较(Tiobe指标),右边为Redmonk排名,它比较了GitHub和Stackoverflow上编程语言的相对性能。



再看工作和薪资,2014 Dice Tech薪金调查显示,具有高薪技能和丰富经验的R使用者的平均工资为115,531美元,而Python则为94,139美元



#2 数据分析战场



首先是用途。R的主要应用场景是,当数据分析任务需要独立运算,或者需要在单个服务器上分析;Python的一般应用场景是,数据分析任务需要与网页应用整合,或者当统计代码需要并入成品数据库。



任务类型划分,做探索性研究时,R语言很适合初学者。几行代码便可写出统计模型;而作为一个完整成熟的程序语言,Python是为产品使用进行算法执行的一个工具。


数据处理能力上,使用R进行数据分析很容易上手,因为它具有庞大数量的包、方便使用的检验以及在使用公式方面的优势。做基本数据分析时,R语言更方便,不需要额外安装包,大的数据库需要使用类似data.table和dplyr包。过去,Python数据分析包的幼年期曾是个问题,但是现在已经得到很大的改善,用Python进行数据分析时,你需要使用NumPy、Pandas和其它程序包。


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


#4 那么赢家是……

最后的结果是平局!哪个工具更适合,取决于你这个数据科学家如何去挑选一个最适合你需要的程序语言。下面的问题可以指导你做出决定。

1.你要解决什么样的问题

2.你学习一门程序语言的成本?学习一个能更好地解决问题的新系统会花费时间,但依旧使用你熟悉的系统并不能解决你要解决的问题。

3.在你的领域最常用的工具是什么?

在你的领域中还有什么可用的工具,它们和那些常用工具有什么关系?




短片赠送:《一头抑郁的鲸鱼》



原文来自:DataCamp和大数据文摘,本文部分文字和图片进行了处理。短片来自腾讯视频。原文请点击左下“阅读原文”。



http://mp.weixin.qq.com/s?__biz=MzA4NTAyMjQ2Mg==&mid=207842280&idx=1&sn=f04abee56e46f8e357a9850593bdaa7f#rd




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 华山论剑 数据科学 科学界 Python数据分析 华山论剑 软件

最重要的,拥有跟随内心与直觉的勇气。。
沙发
ryoeng 在职认证  发表于 2015-6-25 00:44:37 |只看作者 |坛友微信交流群
提示: 作者被禁止或删除 内容自动屏蔽

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 03:08