今天跟大家来了解一下做数据分析是学Python还是R语言好呢?倒是没有编程经验, R
好像用于数据分析和作图不错,但是也有人说Python更好点,到底选择哪个呢?
做数据分析学Python还是R语言
Python和R语言的区别
有人说Python和R的区别是显而易见的,因为R是针对统计的,python是给程序员设计的,其实这话对Python多多少少有些不公平。
2012年的时候我们说R是学术界的主流,但是现在Python正在慢慢取代R在学术界的地位。不知道是不是因为大数据时代的到来。
Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。所以有人说:Python=R+SQL/Hive,并不是没有道理的。
关于 Python 的介绍
Python 是由 Guido van Rossem 创建于 1991 年,并强调效率和代码的可读性。希望深入的数据分析或应用统计技术的程序员是
Python 的主要用户。
当你越需要在工程环境中工作,你会越喜欢
Python。它是一种灵活的语言,在处理一些新东西上表现很好,并且注重可读性和简单性,它的学习曲线是比较低的。
和R类似,Python 也有包,pypi 是一个 Python 包的仓库,里面有很多别人写好的 Python 库。
Python 也是一个大社区,但它是一个有点比较分散,因为它是一个通用的语言。然而,Python
自称他们在数据科学中更占优势地位:预期的增长,更新颖的科学数据应用的起源在这里。
Python的一个最明显的优势在于其胶水语言的特性,很多书里也都会提到这一点,一些底层用C写的算法封装在Python包里后性能非常高效(Python的数据挖掘包Orange
canve
中的决策树分析50万用户10秒出结果,用R几个小时也出不来,8G内存全部占满)。但是,凡事都不绝对,如果R矢量化编程做得好的话(有点小难度),会使R的速度和程序的长度都有显著性提升。
关于R的介绍
Ross Ihaka 和 Robert Gentleman 于 1995
年在S语言中创造了开源语言R,目的是专注于提供更好和更人性化的方式做数据分析、统计和图形模型的语言。
起初R主要是在学术和研究使用,但近来企业界发现R也很不错。这使得中的R成为企业中使用的全球发展最快的统计语言之一。
R的优势在于有包罗万象的统计函数可以调用,特别是在时间序列分析方面,无论是经典还是前沿的方法都有相应的包直接使用。
相比之下,Python之前在这方面贫乏不少。
但是,现在Python有了pandas。pandas提供了一组标准的时间序列处理工具和数据算法。因此,你可以高效处理非常大的时间序列,轻松地进行切片/切块、聚合、对定期/不定期的时间序列进行重采样等。可能你已经猜到了,这些工具中大部分都对金融和经济数据尤为有用,但你当然也可以用它们来分析服务器日志数据。
于是,近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任务的一大替代方案。
Python和R比较
做过几个实验:
1. 用python实现了一个统计方法,其中用到了ctypes,multiprocess。
之后一个项目要做方法比较,又用回R,发现一些bioconductor上的包已经默认用parallel了。(但那个包还是很慢,一下子把所有线程都用掉了,导致整个电脑使用不能,看网页非常卡~)
2. 用python
pandas做了一些数据整理工作,类似数据库,两三个表来回查、匹配。感觉还是很方便的。虽然这些工作R也能做,但估计会慢点,毕竟几十万行的条目了。
3. 用python
matplotlib画图。pyplot作图的方式和R差异很大,R是一条命令画点东西,pylot是准备好了以后一起出来。pyplot的颜色选择有点尴尬,默认颜色比较少,之后可用html的颜色,但是名字太长了~。pyplot
的legend比R 好用多了,算是半自动化了。pyplot画出来后可以自由拉升缩放,然后再保存为图片,这点比R好用。
总的来说Python是一套比较平衡的语言,各方面都可以,无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势。
而R是在统计方面比较突出。但是数据分析其实不仅仅是统计,前期的数据收集,数据处理,数据抽样,数据聚类,以及比较复杂的数据挖掘算法,数据建模等等这些任务,只要是100M以上的数据,R都很难胜任,但是Python却基本胜任。
结合其在通用编程方面的强大实力,我们完全可以只使用Python这一种语言去构建以数据为中心的应用程序。
但世上本没有最好的软件或程序,也鲜有人能把单一语言挖掘运用到极致。
尤其是很多人早先学了R,现在完全不用又舍不得,所以对于想要学以致用的人来说,如果能把R和Python相结合,就更好不过了,很早看过一篇文章——让R与Python共舞,咱们坛子里有原帖,就不多说了,看完会有更多启发。
BTW: 如果之前没有学过R,可以先学Python然后决定是不是学R,如果学了R,学Python的时候会更快上手。
Python:优点和缺点
优点
IPython Notebook
IPython Notebook 使我们更容易使用 Python 进行数据工作,你可以轻松地与同事共享
Notebook,而无需他们安装任何东西。这大大减少了组织代码,输出和注释文件的开销。可以花更多的时间做实际的工作。
通用语言
Python 是一种通用的语言,容易和直观。在学习上会比较容易,它可以加快你写一个程序的速度。此外,Python
测试框架是一个内置的,这样可以保证你的代码是可重复使用和可靠的。
一个多用途的语言
Python
把不同背景的人集合在一起。作为一种常见的、容易理解,大部分程序员都懂的,可以很容易地和统计学家沟通,你可以使用一个简单的工具就把你每一个工作伙伴都整合起来。
缺点
可视化
可视化是选择数据分析软件的一个重要的标准。虽然 Python 有一些不错的可视化库,如 Seaborn,Bokeh 和
Pygal。但相比于R,呈现的结果并不总是那么顺眼。
如果你想学一门技术,Python无疑是你最好的选择。
Python的火爆是毋庸置疑的,但是很多同学想靠自学就转行成功拿高薪,恐怕也不是那么容易。毕竟公司招聘最看重的还是技术能力和项目经验。
如果你想转行成功,那么有老师带领系统学习是最好的途径,这样可以不走弯路,上手项目,并且可以推荐就业。欢迎你来到达内跟着实战讲师学习。
感谢您的阅读,以上就是达内Python培训分享给你的做数据分析,是选择Python编程还是R语言,看完,你知道了吗?更多Python相关的内容尽在达内Python培训机构官网,敬请关注!
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。