Python社区  »  Python

R和Python,我该选谁?

MarTechCareer • 1 月前 • 66 次点击  


Stack Overflow发布的最新的Developer Survey(开发者调查)发现,68%的受访者把Python列为最爱的语言,50%的受访者把R列为最爱的语言。看似Python打败了R成为人们最爱的语言,可是别忘了,这一份survey的受访者大多是Engineer、Developer哦!如果你因此得出结论,所有人都更爱Python,是否有失偏颇呢?接下来我们就看看,从数据分析的角度,R和Python孰优孰劣吧!

此处省略R的开发历史一万字、Python的开发历史一万字,你只需要记住:

R是一堆统计学家写出来的,而Python是一堆工程师写出来的。

Python更适合做重复性的数据处理工作,而R更适合做统计项目
我是一个既用Python又用R的人,在我分析美国大选的时候,我用的是Python,因为我的的工作是一遍一遍地拉数据、跑自动化的分析、把结果做成可视化,所有一切的步骤都是重复性的、可预测的,我觉得Python很适合做这些。如果要我用R来做一样的事情的话,那我可能得先做一个网站应用才能自动化这些流程。

不过R更适合做高度依赖统计的项目,或者是探索性分析。以文本分析为例,如果你想要把段落分解成文字和短语,然后识别其中的规律的话,你可以在R里很轻松地做到。R可以让你高效快速地尝试不同的数据操纵的方法。在Python里的话我就避免不了要写一堆原始代码来解决一个很具体的问题。

Python和R都有一些用户社群,包括:
  • 深度学习(Deep Learning)

  • 机器学习(Machine Learning)

  • 高阶分析(Advanced Analytics)

  • 预测分析(Predictive Analytics)

  • 统计(Statistics)

  • 探索与数据分析(Exploration and Data Analysis)

  • 学术科研(Academic Scientific Research)

  • 以及无穷无尽的计算领域的研究


尽管R和Python都有这些社群,但是R在统计和探索性分析的社群里还是更为主导。你如果想做一些相当有意义的探索性分析,用R做可比用Python做快多了。

R更适合做预测分析
R和Python都有无比强大的功能包可以用来做预测分析。很难概括性地比较两者的表现。R其实是一门统计语言,因而在R里更容易搜索统计方法相关的信息。举一个例子,如果你在R里搜索“logistic regression”(逻辑回归),你将得到6千万条结果,这个数量是Python的37倍。不过,对于软件工程背景的数据科学家来说,他们可能觉得Python更容易,因为R是一群统计学家们写出来的。尽管事实上R和Python都比其他的编程语言更容易理解。

R的模型预测更准确,但是Python在深度学习上更完善
我尝试用R的“glm”功能和Python scikit-learn的“LogisticRegression”功能来拟合两个逻辑回归模型。我只用一个自变量来预测因变量。两个模型都达到了90%多的准确率,但R的预测结果比Pyton稍好一些。不过这并不足以证明R的预测模型算法就比Python的更好些。你在Python和R里可以建立多种多样的预测模型,逻辑回归只是其中的一种。

一个Python超越R的地方就是它完善的深度学习模块。广受欢迎的Python深度学习工具包包括Tensorflow、Theano和Keras。实话说,我宁愿花一个小时在Keras里码dCNNs(deep convolutional neural networks深度卷积神经网络)也不要花半天研究如何在R里执行它。以下是Python、Scala和R语言里最受欢迎的工具包。黄色区域是关于机器学习的,红色是可视化,蓝色是数学和工程,绿色是数据分析,橙色是可重复的统计研究流程

编程的人更喜欢Python,建模的人更喜欢R
Python的另一个优势是它更接近一个编程语言。对于那些不太依赖统计的人来说,在做网站或者理解命令行工具时,Python都更方便。Python的原理就反应了程序员的思维方式。而R呢,则反应了它和统计的渊源。很多程序员觉得R的设计很烦人,因为它和他们习惯的方式不一样。对于那些想成为广义上的程序员的人来说,Python更适合他们。

我不是程序员,也不是统计学家,我只是要做数据分析(Data Analysis),该选哪一个?
对于数据分析来说,R和Python的差别微乎其微。大多数工作都可以在这两个软件里同样方便地完成。事实上,R和Python已经相当相似了,它们在数据分析上的细微差别都不足以让你决定到底该用R还是Python。你也还没到要考虑到底用R还是Python的地步,因为——如果你的老板和同事都用R,你就用R。如果他们用Python,你就用Python。

好吧,“到底要用R还是用Python”这道题,简直和小时候想“去清华好还是去北大好呢”是一样一样的。

通过前面的分析我们可以看出,Python不仅可以做重复性地数据处理工作,还具备完善的深度学习模块,是最热门的数据分析软件之一。如果你想通过Python来学习数据分析,掌握Python最实用、最有工作场景的功能,提升自己在面试和工作中的表现,那就报名《Python数据分析》吧!

课程内容


第一课 Python数据分析的一般概念、操作界面、常用数据包
这节课我们会讲Python的数据类型、操作界面Jupyter Notebook、常用的数据分析的应用包,比如:
  • NumPy

  • Pandas

  • Matplotlib

  • Seaborn

  • Scikit-learn


第二课 如何用Python进行Data Review & QA
对于一个数据分析师来说,工作中大量的时间都花在了Data Review和Quality Assurance/Control(数据检查)上,也就是常说的QA。QA相当重要,但是又异常繁琐。第二课,我们会学习如何用Python高效快速QA


第三课 用Python进行数据处理
数据处理是数据分析中最重要的环节,它是从数据中整理、得出有意义的洞察的前提。这节课中我们会学习用Python进行:
  • Data Manipulation

  • Conditional Filtering

  • Indexing

  • Aggregration

  • Grouping


第四课 用Python进行二维表格处理
工作中,经常需要我们对数据进行二维表处理,Pivot就是一个常见的转化横表、竖表的方法。这节课我们会学习Stack的概念,学会用Python进行快速的数据结构转化。
  • Stack & Unstack

  • Pivot Table

  • Format table


第五课 Loops及其应用
这节课我们讲学习Loop的概念,以及如何利用loop用Python进行纵向、横向查找。


第六课 用matplotlip以及seaborn进行数据可视化
这节课我们将学习如何用Python的数据可视化程序包制作出精美绝伦的数据图,亮瞎你挑剔的老板!


第七课 自定义函数
尽管Python自带了各种很有价值的程序包,但我们也难免会遇到需要自己设定函数解决问题的时候。这节课我们会学习如何自己创造解决特定问题的程序包,也就是自定义函数。


第八课 运用前七课的内容进行实例练习
最后一节课,我们将全面应用前七节课的所有知识点,面对实际工作场景中几乎每天都遇到的数据案例进行实际操作。

课程老师


由于Python是一门操作性的数据工具课,因此我们特别邀请了两位老师来授课,分别负责概念讲解和练习。
  • 主讲老师:Effie老师,在Code&Theory担任高级数据编程分析师,有着营销和商业背景的她,深知日常工作中数据分析师们面临的实际问题,她摒弃市面上其他Python课程的偏数理、偏理论的作风,从实用主义出发,用案例教学来让大家真正学会用Python解决日常天天遇到的数据分析问题!

  • 习题老师:Henry老师,在Wayfair担任机器学习工程师。具有8年数据科学背景,熟悉各类数据分析工具和算法。Henry老师精心设计了各类实操练习题,帮你巩固所学知识!


报名方法


扫描下方课程二维码,进入课程页面,进行报名
若扫码过程遇到问题,可直接点击本文底部“阅读原文”,进入课程页面



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/106220
 
66 次点击  
分享到微博