一点感想:数据分析是一条线,从数据采集到最终形成报告,大概需要五六个流程,每个步骤都需要一种工具,但是术业有专攻,在具体分析工作中,对工具掌握程度的要求也不同。

数据分析软件

做了几年的数据分析师,深刻得感受到工具的重要性,就想着在博客园这个平台上总结一下自己的经验,供有兴趣的同学参考下。在这个行业,业务、编程、统计、分析思维,需要学习的东西比较多,工具方面则有编程与非编程的区别。

数据科学家是大数据时代最性感的职业

上面这句话不知道是谁说的,总之本来是挺严谨的分析师,就和性感挂边了,以至于有公众号喊出“我们是最性感的大数据公司”———这样的豪言壮语。言归正传,简单介绍下数据分析的过程。

做一顿好饭

数据分析就如做饭,下面做一个简单的类比:

  • 买菜——采集数据
  • 存菜——存储数据
  • 洗菜——清洗数据
  • 切菜——整理数据
  • 烹饪——分析数据
  • 上菜——展示数据

可以看出,这只是一个简单的类比,其实在日常生活中,我们处理任何一件事情,大体都要经历“准备—处理—结果”三个大步骤,中间会包含更多的细节,以后做数据分析时,可以多想想自己做饭的经历。

数据采集—Python大显其道

通常数据源都分布在互联网上,电子商务网站、交易论坛、门户网站、社交媒体等都是良好的数据来源地,现在通常的做法有两种:

  1. 专业人士:使用Python编写的蜘蛛爬虫软件,可以自由获取各类信息;
  2. 非专业人士:使用八爪鱼等封装好的产品去抓取,但是需要付费下载,而且灵活性上不如自由编写的爬虫软件,唯一的好处是学习成本较低,这两种不同方式的优缺点在后面的介绍中会重复出现。

数据存储—MySql大显身手

数据被采集后,必须有存储的空间,这时候就必须要有数据库了,如果只是少量的数据,可以直接存在excel中。
下面是主流的数据库

  • 大型数据库:Oracle、DB2、Sybase
  • 中性数据库:Mysql、SQLServer
  • 小型数据库:Access、foxbase

其中Mysql由于是开源软件,因此受到中小型公司、喜欢数据库同学的喜爱,现已被甲骨文收购。

操作数据库的脚本语言中,最应该掌握得就是SQL语句,只要从事数据分析工作,就必须精通这种语言,而且,在以后的R统计分析时,SQL可以发挥极大的作用!另外一种常见脚本语言是PHP,在设计网站时用得比较多。

数据清洗与整理—SQL语言显真章

前面说过SQL语言是比较强大的,是清洗数据过程中的一把尖刀,在数据库中使用这种语句,可以快速删除重复值、找出异常值、定位缺失值等。在excel中,使用SQL也可以取代高级筛选功能,更方便得检索出需要的信息。

数据分析—多家软件齐上阵

大多数人接触的第一款数据分析软件就是Excel了,后来随着技术的发展,有了专业的分析软件—SPSS和SAS,再往后发展,有了开源的R和Python等。

  • Excel:微软推出的表格处理软件,也是现在使用范围最广的一款数据分析软件,在新推出的2016版本中,整合了部分BI展示,Excel需要掌握的技能较多,同学可根据需要精通多个,如常见函数、数据透视表/图、VBA以及项目分析等加载项;
  • SPSS/SAS:一般来说个人使用Spss的比较多,因为SAS价格昂贵,这两款软件都是非常出色的统计分析软件,里面集成了各种分析方法,但是灵活性稍微差了一点;
  • R/Python:这两款软件经常被放在一起对比,从设计的初衷来说,R更适合做数字类的数据分析、挖掘工作,Python则适合做文本类的分析,因为爬虫也是用Python语句写得,而且Python的后期精通比较难,需要一定的基本编程思想,如果经常处理数字类的数据,建议从R学起。

数据展示—BI系统展露头脚

这一块分两大块将,一个是图表的制作,一个是图表的展示。如果Excel使用精通得话,也可以用来制作精美的商业图表。

数不如表,表不如图

相信做数据分析的同学都挺说话这句话,那么,一般用来制作图表的都有哪些软件呢?

图表制作

如果是通过R或者Spss分析得大型数据,可以在这两个软件中直接生成相对应的图,其中R中的ggplot2包,更是制作精美分析图的利器,相比之下,Spss就稍显笨拙。

其他常用的数据可视化软件有国外的Tableau,国内的魔镜,还有微软的Power BI,这几款软件都属BI系统,给领导或者客户展示时,可以考虑使用。

倘若还有时间或者感兴趣,可以学习百度的Echarts,还有比较流行的D3.js,这两款都是前端展示用,可以设计复杂漂亮的大数据图,追求炫酷的同学可以考虑学习。

图表展示

最常见的软件依旧是微软家的PPT,关于PPT演示技巧的书本很多,同学可以根据兴趣自由选择。

近年来流行一种动画式的缩放演示,效果比PPT要好点,如国外的prezi,国内的斧子演示,都是通过H5技术开发出的新软件,可以学习一下,作为以后必要的演示场合用。

至此,数据分析流程中的软件都已介绍完毕,本文中所设计的数据量没有到达大数据的层面,因此Hadoop、hive、spark等大数据软件/平台均没有介绍。

PS:推荐学习使用任意一款思维导图软件,可以非常方便得梳理清思路,我现在用得是国内的Xmind,国外有mind manager。