社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

R和Python,我该选谁?

MarTechCareer • 2 年前 • 321 次点击  


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/119312
 
321 次点击