未明学院:入门数据分析,到底选Python还是R?

本文作者

未明学院数据分析方向老师

王老师

正如2012年《哈佛商业评论》中指出的:数据科学家是21世纪最性感的职业,而熟练的进行数据分析、数据挖掘则是一名数据科学家必备的基础技能之一。正所谓工欲善其事,必先利其器,在进行数据分析之前,我们需要掌握一项能够用来进行数据分析的技能。

数据分析从上世纪60年代发展至今,已经出现了很多成熟的方法论,同时也有了很多成熟的商业工具、软件,如SPSS、SAS、MATLAB等。然而这些工具软件过于庞大、昂贵,不适合进行日常的数据分析操作。除却这些昂贵的商业工具之外,我们还有更好的选择,多亏了开源社区,我们可以使用Python以及R语言等工具。

Python以及R语言是目前在数据科学家社区中最流行的两门语言,是目前为止最适合用来进行数据分析的工具。因此,如果我们想要入行数据科学家,想要从事数据分析,Python与R是必备的两项技能。也许有人要问我:Python与R两门语言必须同时掌握吗?我的答案是肯定的。这两门语言虽然都能够进行数据分析,但是在很多细分领域还是有很大差别的。同时学习两门语言能够博采众长,知道何时采用何种工具能够最精确、快速的解决问题才是我们的目的所在。

当然,我知道很多同学没有足够多的时间同时学习Python与R两门语言,因此接下来我将对Python以及R语言进行比较,同学们可以根据自己的需要择一进行学习。当然,如果同学们能够同时学习Python以及R两门语言,当然是最好的。

简介

Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。经过近三十年的发展,Python语言具有易于学习、易于阅读、易于维护、可移植、可扩展、可嵌入等特点。尤其是随着机器学习、人工智能的发展,Python作为一门人工智能语言备受青睐。

R是一门用于统计计算和作图的语言,受S语言影响发展而来。R语言最初由新西兰奥克兰大学统计系的Robert Gentleman和Ross Ihaka合作编写。自1997年开始,R语言开始由一个核心团队开发,团队成员来自世界各地的大学和研究机构。

语言特点对比

1) Python和R在数据分析和数据挖掘方面都有比较专业和全面的模块,很多常用的功能,比如矩阵运算、向量运算等都有比较高级的用法;

2) Python和R两门语言有多平台适应性,linux、window都可以使用,并且代码可移植性强;

3) Python和R比较贴近MATLAB以及minitab等常用的数学工具

4) 数据结构方面,由于是从科学计算的角度出发,R中的数据结构非常的简单,主要包括向量(一维)、多维数组(二维时为矩阵)、列表(非结构化数据)、数据框(结构化数据)。而 Python 则包含更丰富的数据结构来实现数据更精准的访问和内存控制,多维数组(可读写、有序)、元组(只读、有序)、集合(唯一、无序)、字典(Key-Value)等等。

5) Python与R相比速度要快。Python可以直接处理上G的数据,R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。

6) Python是一套比较平衡的语言,各方面都可以,无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势。而R是在统计方面比较突出。

7)Python的pandas借鉴了R的dataframes,R中的rvest则参考了Python的BeautifulSoup,两种语言在一定程度上存在互补性,通常,我们认为Python比R在计算机编程、网络爬虫上更有优势,而 R 在统计分析上是一种更高效的独立数据分析工具。所以说,同时学会Python和R这两把刷子才是数据科学的王道。

应用场景

通过上面的介绍,读者应该能够清楚的明白Python以及R语言都是能够用来进行日常的数据分析任务的,然而这两者还是有一定区别的。正如Python与R语言的官网对这两门语言进行的介绍:

Python is aprogramming language that lets you work quickly and integrate systems more effectively.

R is a free software environment for statistical computing and graphics.

Python更多的是一门编程语言,其运用场景相较于R则更为广泛,如Python可以用于Web开发、操作系统管理、服务器运维的自动化脚本、科学计算、桌面软件开发、服务器软件(网络软件)开发、游戏开发、机器学习等。

R语言相比起Python而言,其应用场景相对狭小,专注于统计计算、机器学习等领域。这也与R语言的历史有关,R语言是由统计学家合作编写的,其最初的目的是用于统计分析,为统计服务的。

学习成本及路径

R语言入门较为简单,初学者不需要对编程有任何事先的了解,只需要简单的几行代码,R语言就能进行常用的数据分析操作并构建绚丽的图表;然而,R语言的学习曲线较为陡峭,R语言从入门到精通的路程比较漫长,需要读者慢慢摸索。

Python的学习曲线刚好与R语言相反,Python是作为一门编程语言存在的,如果读者在之前有学习过任何一门类C语言,则掌握Python也是很简单的。当然,即使读者没有任何的编程基础,只需要根据网上的教程,一步一步的从基础学起Python,最终不仅可以利用Python进行数据分析,更可以利用Python进行机器学习、人工智能。

下图为数据科学家成长路径图,其中对于R以及Python的学习路径也有所提及,有兴趣的读者可以参照该学习路径图定制自己的学习路径。

数据科学家成长路径图

总结

在现在的大数据时代,数据分析已经成为一名从业者的必备技能,而掌握Python以及R语言则是进行数据分析的基础工具。

经过上面的叙述,相信读者对于Python以及R语言已经有了自己的一些理解,能够自行选择需要的语言进行学习。而笔者则在最后赘述一句,两门语言无所谓优劣,读者需博采众长,在适当的问题环境下采用适当的语言快速、准确地解决问题才是最为重要的,千万不要局限于一门语言,效率往往比工具更为重要。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值