Python 或R,这是一个问题。在数据科学工作中,你可能也经常遇到这个选择困难问题。本文作者Brian Ray基于数十年的Python和R在数据科学领域的使用检验,分享了自己的看法,希望能够帮大家做出更好的选择。
希望这篇文章能帮助那些在数据科学中纠结于选择Python还是R的小伙伴们。如果你是数据科学领域的新手,或者你需要在项目中选择一个语言来用,这篇文章一定能帮到你。
也许存在第三种选项
Hadley Wickham,RStudio的首席数据科学家,已经给出了回答:与其说选择其中一种语言(R“还是”Python)更好,还不如说让两种语言相互合作 (R“和”Python)是最佳的选择。所以,我所说的第三种选项就是同时使用Python和R。这让我很感兴趣,我也将在本文末尾处详细阐述。
如何比较R和Python
以下不是两种语言的详细对比清单,只是一些值得进行对比的要素:
历史:R和Python有着差异明显又相互交错的历史。使用群体:实地调查显示了许多复杂的社会学和人类学因素。性能:详细的性能比较,以及为什么很难比较两种语言的原因。第三方支持:模块、代码库、可视化工具、组织及开发环境。用例:某些类型的工作或任务中,更适用于使用两种语言中的一种。同时使用两种语言:在Python中使用R,在R中使用Python。R与Python预测能力的比较:介绍一个“自给自足”的练习。企业和个人偏好:揭晓最终答案历史
简史:
ABC语言 ->Python问世(1989年由Guido van Rossum创立)-> Python 2 (2000年) -> Python 3 (2008年)Fortan语言->S语言(贝尔实验室)->R语言问世(1991年由Ross Ihaka 和Robert Gentleman创立)R 1.0.0 (2000年) -> R 3.0.2 (2013年)使用群体
比较Python与R的用户时,要谨记以下图表:
只有50%的Python用户同时使用R
上述结果假设所有的R程序员都用R来做“科学与数据研究”,无论程序员水平如何,我们能够确定以上统计分布是真实的。
如果我们仅从“科学与数据研究”群体来看,这就引出了我们的第二个观点,即R/Python究竟适用于哪些群体?整个“科学与数据研究”群体存在着很多子群体,虽然这些子群体存在交叉,你可能会疑惑他们在更广的大群体中是如何交互并有着不同的表现的。
以下是Python/R适用的一些子群体:
深度学习机器学习高级分析预测分析统计学探索性数据分析学术研究近乎所有的计算研究领域
虽然每个专业领域似乎都服务于特定的群体,但你会发现R在统计学和数据探索领域使用更广泛。不久之前,比起使用Python进行数据探索,启动并运行R能花费较少的时间,况且你还需要花时间安装Python。
所有一切都将被Jupyter Notebooks 和Anaconda技术颠覆。
注意:Jupyter Notebooks增加了在浏览器中编写Python/R的功能;Anaconda可以轻松安装并管理Python和R及其语言包。
现在你可以在友好的环境中编程,并用创造性的方式来生成报表和完成数据分析。程序员与他们钟爱的编程语言之间已不存在屏障。现在,Python能够在一个平台独立运行,并且提供前所未有的快速、简洁的分析功能。
影响人们选择编程语言的另一个区别在于“开源”,不仅仅在于开源库,还包括协作群体对于开源的贡献。讽刺的是,像Tensorflow和GNU科学计算库(分别隶属于Apache和GPL)这类开源许可软件,似乎同时绑定Python和R。
尽管还存在不少R的支持者,但Python使用群体中更多人是Python的纯粹支持者。另一方面,似乎有更多的企业支持R,尤其是那些曾经广泛使用统计学来做分析的企业。
最后,关于群体和协作,在Github中Python的支持者更多。