楼主: 资料狂人
48305 66

[学科前沿] 【Python/R】Python与R的区别和联系   [推广有奖]

运营管理员

巨擘

0%

还不是VIP/贵宾

-

威望
9
论坛币
974818098 个
通用积分
41250.1571
学术水平
4617 点
热心指数
3402 点
信用等级
3620 点
经验
636804 点
帖子
9610
精华
140
在线时间
18218 小时
注册时间
2010-5-1
最后登录
2024-5-9

初级热心勋章 初级学术勋章 中级学术勋章 中级热心勋章 初级信用勋章 中级信用勋章 高级学术勋章 高级热心勋章 高级信用勋章 特级信用勋章 特级学术勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

      有人说Python和R的区别是显而易见的,因为R是针对统计的,python是给程序员设计的,其实这话对Python多多少少有些不公平。2012年的时候我们说R是学术界的主流,但是现在Python正在慢慢取代R在学术界的地位。不知道是不是因为大数据时代的到来。

       Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。所以有人说:Python=R+SQL/Hive,并不是没有道理的。

       Python的一个最明显的优势在于其胶水语言的特性,很多书里也都会提到这一点,一些底层用C写的算法封装在Python包里后性能非常高效(Python的数据挖掘包Orange canve 中的决策树分析50万用户10秒出结果,用R几个小时也出不来,8G内存全部占满)。但是,凡事都不,如果R矢量化编程做得好的话(有点小难度),会使R的速度和程序的长度都有显著性提升。

      R的优势在于有包罗万象的统计函数可以调用,特别是在时间序列分析方面,无论是经典还是前沿的方法都有相应的包直接使用。
      相比之下,Python之前在这方面贫乏不少。但是,现在Python有了pandas。pandas提供了一组标准的时间序列处理工具和数据算法。因此,你可以高效处理非常大的时间序列,轻松地进行切片/切块、聚合、对定期/不定期的时间序列进行重采样等。可能你已经猜到了,这些工具中大部分都对金融和经济数据尤为有用,但你当然也可以用它们来分析服务器日志数据。于是,近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任务的一大替代方案。

      做过几个实验:
1. 用python实现了一个统计方法,其中用到了ctypes,multiprocess。
之后一个项目要做方法比较,又用回R,发现一些bioconductor上的包已经默认用parallel了。(但那个包还是很慢,一下子把所有线程都用掉了,导致整个电脑使用不能,看网页非常卡~)
2. 用python pandas做了一些数据整理工作,类似数据库,两三个表来回查、匹配。感觉还是很方便的。虽然这些工作R也能做,但估计会慢点,毕竟几十万行的条目了。
3. 用python matplotlib画图。pyplot作图的方式和R差异很大,R是一条命令画点东西,pylot是准备好了以后一起出来。pyplot的颜色选择有点尴尬,默认颜色比较少,之后可用html的颜色,但是名字太长了~。pyplot 的legend比R 好用多了,算是半自动化了。pyplot画出来后可以自由拉升缩放,然后再保存为图片,这点比R好用。

      总的来说Python是一套比较平衡的语言,各方面都可以,无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势。   而R是在统计方面比较突出。但是数据分析其实不仅仅是统计,前期的数据收集,数据处理,数据抽样,数据聚类,以及比较复杂的数据挖掘算法,数据建模等等这些任务,只要是100M以上的数据,R都很难胜任,但是Python却基本胜任。

      结合其在通用编程方面的强大实力,我们完全可以只使用Python这一种语言去构建以数据为中心的应用程序。
      但世上本没有的软件或程序,也鲜有人能把单一语言挖掘运用到。尤其是很多人早先学了R,现在完全不用又舍不得,所以对于想要学以致用的人来说,如果能把R和Python相结合,就更好不过了,很早看过一篇文章——让R与Python共舞,咱们坛子里有原帖,就不多说了,看完会有更多启发。

BTW: 如果之前没有学过R,可以先学Python然后决定是不是学R,如果学了R,学Python的时候会更快上手。

二维码

扫码加我 拉你入群

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

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

关键词:python Bioconductor Matplotlib r与Python Parallel python 数据库 程序员 学术界 统计

已有 4 人评分经验 学术水平 热心指数 信用等级 收起 理由
crystal8832 + 20 + 1 精彩帖子
mzl79 + 100 精彩帖子
luxiongbiao + 1 + 1 精彩帖子
zhangibt + 60 精彩帖子

总评分: 经验 + 180  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分



沙发
资料狂人 在职认证  发表于 2014-6-6 09:13:32 |只看作者 |坛友微信交流群

Python数据分析现场班:https://bbs.pinggu.org/thread-3156765-1-1.html


[em29] 用Python 说话“算数”——Python社会统计与计量分析现场培训:

https://bbs.pinggu.org/thread-4606957-1-1.html




使用道具

藤椅
darwon 发表于 2014-6-6 09:53:09 |只看作者 |坛友微信交流群
支持一下!

使用道具

板凳
liyu.edu 发表于 2014-6-6 09:54:55 |只看作者 |坛友微信交流群
不错额

使用道具

报纸
kevinion 发表于 2014-6-6 10:02:00 |只看作者 |坛友微信交流群
十分不错!

使用道具

地板
galilee 在职认证  发表于 2014-6-6 11:18:52 |只看作者 |坛友微信交流群
哪个好用就用哪个,行么?
一般的话,数据预处理是用python比较方便,但是R有大量的统计包啊,作为分析环境是比较好的。
我的征途是星辰大海。

使用道具

7
xupengswordsman 发表于 2014-6-6 11:19:34 |只看作者 |坛友微信交流群
多少钱呢 麻烦楼主说下哈!
xupeng

使用道具

8
lipj 在职认证  发表于 2014-6-6 11:20:43 |只看作者 |坛友微信交流群
支持!昨天刚听一个老师讲到Python,之前都用R和matlab作分析,以后学习下
为了美好的未来生活而奋斗!

使用道具

9
deng203 发表于 2014-6-6 11:23:52 |只看作者 |坛友微信交流群
支持!

使用道具

10
zhangibt 发表于 2014-6-6 11:58:10 |只看作者 |坛友微信交流群
非常好的介绍

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

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

GMT+8, 2024-5-9 10:43