- A+
作为一直想入门数据分析的童鞋们来说,如何选定一门面向数据分析的编程语言或工具呢?注意是数据分析,而不是大数据哦,数据分析是基础了。
数据分析的工具千万种,综合起来万变不离其宗。无非是数据获取、数据存储、数据管理、数据计算、数据分析、数据展示等几个方面。而被提到频率最高的如Excel、R、Python、SPSS、SAS、SQL等。那么,这些工具本身到底有什么特点呢,应该如何合理的使用来解决数据分析的各种问题?
最简单的是EXCEL,它不仅是简单的而且是必备的。正所谓初级学图表,中级学函数透视表,高级学习VBA。EXCEL功能的强大只有那些正真学过它的人才能知道,我们反对任何关于EXCEL复杂,不实用的说法。在学完VBA之后,EXCEL几乎能解决你在日常工作中遇到的所有问题。EXCEL是你成为数据分析师的必备条件。
对于一个初级的数据分析师来说,刚开始如果能精通SQL与Excel再会点SPSS之类的就差不多了。SPSS对用户的要求是只要会点击菜单就可以了,有编程窗口但是一般没人用,用户多是受到过一些统计训练的,但不需要高深的分析能力,市场调研用的比较多,统计专业的学生一般要求掌握。
再往后,你可能就需要精通一门统计分析软件了,一般说来如果是互联网行业可能R语言是最为流行,因为R语言是开源的,不过上手还是需要长期的学习;SPSS界面友好型,不过一般是市场研究用的比较多,如果你会用SPSS编程,其实功能还是比较强大的,建议如果想先练手可以学这个,上手快;SAS一般是金融企业特别是银行业和医学统计,银行业人员有一些是用SAS做统计,一般是银行业内部人做的,另一种是给银行业做数据挖掘的公司,不过正版一年也要上百万,不是土豪也用不起,而且SAS学习没人指导很难学;所以看童鞋们的选择,想在传统或者咨询公司做的SPSS比较合适,想去金融特别是银行业SAS不错,想进互联网公司学R语言可能是比较明智。
再就是Python。Python在这些工具里面是综合功能最强大的,但是这些功能分散在第三方库里面,没有得到有机的整合,所以学习成本还是比较高的。Python与R不同,Python是一门多功能的语言。数据统计是更多是通过第三方包来实现的。具体来说,常用的Python在统计上面的Package有这样一些:
1、Numpy与Scipy。这两个包是Python之所以能在数据分析占有一席之地的重要原因。其中Numpy封装了基础的矩阵和向量的操作,而Scipy则在Numpy的基础上提供了更丰富的功能,比如各种统计常用的分布和算法都能迅速的在Scipy中找到。
2、Matplotlib。这个Package主要是用来提供数据可视化的,其功能强大,生成的图标可以达到印刷品质,在各种学术会议里面出镜率不低。依托于Python,可定制性相对于其他的图形库更高。还有一个优点是提供互动化的数据分析,可以动态的缩放图表,用做Adhoc analysis非常合适。
3、Scikit Learn。非常好用的MachineLearning库,适合于用于快速定制原型。封装几乎所有的经典算法,易用性极高。
4、Python标准库。这里主要是体现了Python处理字符串的优势,由于Python多功能的属性和对于正则表达式的良好支持,用于处理文本是再合适不过的了。
Python是一套比较平衡的语言,各方面都可以,而R是在统计方面比较突出。R的优势在于有包罗万象的统计函数可以调用,特别是在时间序列分析方面(主要用在金融分析与趋势预测)无论是经典还是前沿的方法都有相应的包直接使用;相比Python在这方面贫乏不少。Python的优势在于其胶水语言的特性,一些底层用C写的算法封装在Python包里后性能非常高效。
总之R和SAS是专业性比较强的统计软件,统计专业学生必备,SPSS是更大众化的统计软件,Python不是统计软件,而是一种可以用来做各种事情的语言。R和Python现在越来越受到各大公司的喜欢,也必定会成为将来的发展趋势。Python的功能可远远不止用来分析数据,它可以用来开发,建站,写个小APP什么的。我们所知道的果壳网,知乎,DROPBOX等可都是用Python写得哦。如果你能同时学会Python和R,在数据科学领域肯定就游刃有余了。
总的来说,不同工具各有擅场,最关键的当然还在于业务的掌握和数学方法的掌握(统计学和机器学习等核心方法)。但磨刀不误砍柴工,把基本工具掌握熟练了百利无一弊。而当你要做大数据分析的时候,还会用到Hadoop等工具(实际上这些工具都是可以结合Hadoop大数据平台联合起来用的,后面专题介绍)。而且,工具不是万能的,业务和数据建模方法才是万法之源。不要被工具迷花了眼哦