Python和R都具有广阔的软件生态系统和社区,因此这两种语言都几乎适合于任何数据科学任务。所以下面所说的区别,也就是在某些特定领域中,一个比另一个更强大一些。
Python 胜出在哪里
- 大多数深度学习研究都是使用Python完成的,因此Keras和PyTorch之类的工具具有“ Python-first”的开发。您可以在Keras的深度学习简介中了解这些主题。和PyTorch的深度学习简介。
- Python在R之上具有优势的另一个领域是将模型部署到其他软件中。Python是一种通用的编程语言,因此,如果您使用Python编写应用程序,则包含基于Python的模型的过程将是无缝的。我们在使用Python设计机器学习工作流中介绍了部署模型。和构建Python中的数据工程管道。
- Python通常被认为是一种通用语言,具有易于理解的语法
R胜出在哪里
- 在R中进行了大量的统计建模研究,因此有更广泛的模型类型可供选择。如果您经常有关于最佳数据建模方法的疑问,R是更好的选择。DataCamp提供了大量有关R的统计课程。
- R的另一个大窍门是使用Shiny轻松创建仪表板。这使没有太多技术经验的人们可以创建和发布仪表板以与同事共享。Python确实有Dash替代,但还不成熟。您可以在我们的R中使用Shiny构建Web应用程序课程中了解Shiny。。
- R的功能在开发时就考虑了统计学家的问题,因此具有特定领域的优势,例如数据可视化的强大功能。
此列表远非详尽无遗,专家们不停地争论着用一种或另一种语言可以更好地完成哪些任务。此外,Python程序员和R程序员倾向于相互借鉴好主意。例如,Python的plotenine数据可视化软件包是受R的ggplot2启发的包,而R的rvest网页抓取包的灵感来自Python的BeautifulSoup包。因此,最终,两种语言的最佳创意都进入了另一种语言,这使得两种语言都同样有用和有价值。
如果您急于等待所选语言中的特定功能,则还应注意,Python和R之间具有出色的语言互操作性。也就是说,您可以使用rpy2包从Python运行R代码,并且您可以可以使用网状结构从R运行Python代码。这意味着可以从另一种语言访问以一种语言显示的所有功能。例如,深度学习软件包Keras的R版本实际上调用Python。同样,rTorch调用PyTorch。
除了功能之外,有时还会由不同的团队或个人根据其背景使用这些语言。
谁使用Python
- Python最初是作为用于软件开发的编程语言开发的(后来添加了数据科学工具),因此具有计算机科学或软件开发背景的人们可能会更喜欢使用它。
- 因此,从其他流行的编程语言(如Java或C ++)到Python的过渡比从那些语言向R的过渡容易。
谁使用R
- R有一组称为Tidyverse的软件包,这些软件包提供了功能强大但易于学习的工具,用于导入,操作,可视化和报告数据。使用这些工具,没有任何编程或数据科学经验(至少是轶事)的人可以比Python更快地提高生产力。
- 如果您想自己测试一下,请尝试阅读Tidyverse简介,其中介绍了R的dplyr和ggplot2软件包。它可能比Python中的数据科学入门更容易上手,但是为什么不自己看看自己喜欢什么呢?
- 总体而言,如果您或您的员工没有数据科学或编程背景,R可能更有意义。
总结一下,尽管可能很难知道是使用Python还是R进行数据分析,但这两个都是不错的选择。一种语言并不比另一种语言好,这取决于您的用例和您要回答的问题。最后,我将分享比较这两种语言的便捷信息图的第一部分。我不想包含所有内容,因为它很长并且需要太多的滚动,但是您可以在此处下载完整图像。
(Tutorial) Choosing Python or R for Data Analysis? An Infographic