转自:http://bbs.pinggu.org/thread-3078817-1-1.html

有人说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的时候会更快上手。

转载于:https://www.cnblogs.com/KevinJasmine/p/6477383.html

Python与R的区别和联系相关推荐

  1. Python与R的区别与联系

    中文原文:数据科学界华山论剑:R与Python巅峰对决 英文原文:Choosing R or Python for data analysis? An infographic 如果你是数据分析领域的新 ...

  2. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  3. r与python的区别和联系-Python和R语言的区别?

    Python和R语言的区别 Python和R语言的 数据挖掘技术日趋成熟和,随着互联网以及大批海量数据来,之前传统的依靠spss.SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国 ...

  4. r语言和python的区别-Python和R语言之分析对比

    在Python中调用R或在R中调用Python,为什么是"和"而不是"或"? 在互联网中,关于"R和Python"的文章,排名前十的搜索结果 ...

  5. python中%s和%r的区别

    %s和%r的区别 %s和%r都可以用来转换字符串 %s -> str() %r -> repr() 具体区别如下: s = 'hello' # repr和str打印字符串结果 print( ...

  6. 搞机器学习,Python和R哪个更合适?

    [编者按]如果你正想构建一个机器学习项目,但却纠结于如何选择编程语言,这篇文章将是你所需要的.这篇文章不仅帮助你理解Python和R这两种语言的区别,还有助于你了解各个语言多方面的优势. 作者 | M ...

  7. 独家 | 从全方位为你比较3种数据科学工具的比较:Python、R和SAS(附链接)

    翻译:张玲 校对:吴金笛 本文约3000字,建议阅读5分钟. 关于三种数据科学工具Python.R和SAS,本文从8个角度进行比较分析并在文末提供记分卡,以便你随时调整权重,快速做出选择. 简介 我们 ...

  8. 独家 | 利用Auto ARIMA构建高性能时间序列模型(附Python和R代码)

    作者:AISHWARYA SINGH 翻译:陈之炎 校对:丁楠雅 本文共3400字,建议阅读10+分钟. 本文介绍了ARIMA的概念,并带你用Python和R训练一个数据集实现它. 简介 想象你现在有 ...

  9. 机器学习算法清单!附Python和R代码

    来源:数据与算法之美 本文约6000字,建议阅读8分钟. 通过本文为大家介绍了3种机器学习算法方式以及10种机器学习算法的清单,学起来吧~ 前言 谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人 ...

最新文章

  1. js脚本 处理js注入
  2. 第五周项目四-长方柱形(1)
  3. WWDC2014:留给微软的时间不多了!
  4. mysql中删除标识列的语句_MySQL中一些常用的数据表操作语句笔记
  5. 卷积神经网络迁移学习
  6. c4d启动无反应_浙江无填料喷雾式冷却塔
  7. matlab 实现 kmeans聚类,gscatter的应用
  8. 更高效地利用 Jupyter+pandas 进行数据分析,6 种常用数据格式效率对比!
  9. [论文评析]ArXiv,2021, CrossFormer技术分析
  10. 2.基于梯度的攻击——FGSM
  11. Angular.js 简单实现数字变汉字
  12. 艾宾浩斯遗忘曲线PHP,艾宾浩斯遗忘曲线复习计划表-2018新版.pdf
  13. baomidou 动态数据源
  14. iOS深拷贝和浅拷贝
  15. cocos 躲避球游戏(1) --创建项目和场景切换
  16. P4313 文理分科
  17. 团队八种角色缺乏_缺乏信任会对团队造成什么影响
  18. unity编辑器报错Microsoft Visual C# Compiler version
  19. h264基本编码参数
  20. 一个简易的dota改键助手

热门文章

  1. 调用max函数求两个数中较大值
  2. 【Source Insight 4.0 英文版】 如何设置选中高亮
  3. STM32开发 -- UCOSII
  4. linux mount挂载设备(u盘,光盘,iso等 )使用说明
  5. 高一计算机专业用平板电脑,高中生需不需要平板电脑或者笔记本电脑?
  6. 【译】What do machine learning practitioners actually do?
  7. 区块链学堂(2):最简单的智能合约
  8. JZOJ 3815. 【NOIP2014模拟9.7】克卜勒
  9. 重试次数配置_TestNG实践——2.用例失败重试
  10. 掌握python编程语言tensorflow_手把手教你eclipse集成Python语言+Tensorflow环境