专栏首页CSDN技术头条R vs. Python,数据分析中谁与争锋?

R vs. Python,数据分析中谁与争锋?

R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好?

当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这两个非常强大、灵活的数据分析语言中二选一是非常困难的。

我承认我还没能从这两个数据科学家喜爱的语言中选出更好的那一个。因此,为了使事情变得有趣,本文将介绍一些关于这两种语言的详细信息,并将决策权留给读者。值得一提的是,有多种途径可以了解这两种语言各自的优缺点。然而在我看来,这两种语言之间其实有很强的关联。

Stack Overflow趋势对比

上图显示了自从2008年(Stack Overflow 成立)以来,这两种语言随着时间的推移而发生的变化。

R和Python在数据科学领域展开激烈竞争,我们来看看他们各自的平台份额,并将2016与2017年进行比较:

接下来我们将从适用场景、数据处理能力、任务、安装难度以及开放工具等方面详细了解这两种语言。

适用场景

R适用于数据分析任务需要独立计算或单个服务器的应用场景。Python作为一种粘合剂语言,在数据分析任务中需要与Web应用程序集成或者当一条统计代码需要插入到生产数据库中时,使用Python更好。

任务

在进行探索性统计分析时,R胜出。它非常适合初学者,统计模型仅需几行代码即可实现。Python作为一个完整而强大的编程语言,是部署用于生产使用的算法的有力工具。

数据处理能力

有了大量针对专业程序员以及非专业程序员的软件包和库的支持,不管是执行统计测试还是创建机器学习模型,R语言都得心应手。

Python最初在数据分析方面不是特别擅长,但随着NumPy、Pandas以及其他扩展库的推出,它已经逐渐在数据分析领域获得了广泛的应用。

开发环境

对于R语言,需要使用R Studio。对于Python,有很多Python IDE可供选择,其中Spyder和IPython Notebook是最受欢迎的。

热门软件包和库

下面罗列了R和Python推出的针对专业以及非专业程序员的最热门的软件包和库。

R:针对专业程序员的热门软件包

  • 用于数据操作的 dplyr、plyr和 data table
  • 用于字符串操作的 stringr
  • 定期和不定期时间序列 zoo
  • 数据可视化工具 ggvis、lattice 和 ggplot2
  • 用于机器学习的 caret

R:针对非专业程序员的热门软件包

  • Rattle
  • R Commander
  • Deducer

这些完整的GUI包可以实现强大的数据统计和建模功能。

Python:针对专业程序员的热门库

  • 用于数据分析的 pandas
  • 用于科学计算的 SciPy 和 NumPy
  • 用于机器学习的 scikit-learn
  • 图表库 matplotlib
  • statsmodels 用来探索数据,估算统计模型,并执行统计测试和单元测试

Python:针对非专业程序员的热门库

  • Orange Canvas 3.0是遵循GPL协议的开源软件包。它使用一些常用的Python开源库进行科学计算,包括numpy、scipy和scikit-learn。

正如本文开头提到的,R和Python之间有很强的关联,并且这两种语言日益普及。很难说哪一种更好,它们两者的整合在数据科学界激起了许多积极和协作的波澜。

总结

事实上,日常用户和数据科学家可以同时利用这两者语言,因为R用户可以在R中通过 rPython包来运行R中的Python代码,而Python用户可以通过RPy2库在Python环境中运行R代码。

原文:R vs. Python (https://dzone.com/articles/r-or-python-data-scientists-delight) 作者:Sunil Kappal 译者:安翔

本文分享自微信公众号 - CSDN技术头条(CSDN_Tech),作者:Sunil Kappal

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 最常见的 120 道面试题解析

    Python 今年还是很火,不仅是编程语言排行榜前二,更成为互联网公司最火热的招聘职位之一。伴随而来的则是面试题目越来越全面和深入化。有的时候不是你不会,而是触...

    CSDN技术头条
  • 这次,我站Python!

    人生苦短,我用Python,为啥这么说,因为我们码农圈有金句:学完Python,便可上天 ~ 废话不多说,相信很多人都听过之前的Python进入小学课本、Pyt...

    CSDN技术头条
  • Python成为高收入国家增长最快的语言

    我们最近的研究表明,富裕国家(世界银行定义为高收入国家)喜欢研究的技术与其他国家的不同。其中,我们看到最大的差异是Python语言。当我们关注高收入国家的时候,...

    CSDN技术头条
  • 一篇让你直接入门的 Python 教程

    Python,以英国喜剧团体MontyPython的名字命名,是一种解释性、交互性、面向对象的编程语言.它的灵活性使它能够做许多事情,无论大小。Python可以...

    Python知识大全
  • 2019学习Python的10个原因

    如果你是一名Java开发人员,你也当然可以使用Groovy进行此操作,但Groovy并不提供Python在API、库、框架和数据科学、机器学习和Web开发等领域...

    一墨编程学习
  • Python入门学习资料

    4、《笨办法学 Python》:这本书绝对是最简单的学习 Python 的方法,本书的 HTML 在线版是完全免费的。

    孤独的明月
  • 全网最实用 Python 面试题大全(花费了整整 3 天时间整理出来的)

    花费了整整3天时间整理出来的全网最实用Python面试题大全,一共30道题目+答案的纯干货,如此的辛勤整理,希望大家多多支持,建议点赞+收藏!

    Python小二
  • 什么是Python?从小白到入门你只差一个它!

    近段时间,继Java、C/C++、Basic语言这些所谓的老牌编程语言之后,相信很多人在网上或者很多数据中看到了一门突如其来而又不动声色悄然崛起的一门语言---...

    灰小猿
  • python介绍

    Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

    Eric杂货铺
  • 《Python入门》连载(1)

    1、请各位每天拿出30分钟时间,学习1节课程。任何知识技能的学习都需要连续的重复,才能巩固学习的效果。

    高一峰

扫码关注云+社区

领取腾讯云代金券