首先说明一点,以下说到的技术对于数据分析师来说只是必备的能力,你的思维和对业务的理解往往决定了你的上限。 数据分析师是技术工种没错,但技术绝对不是全部,SQL/Python等等只是辅助你去完成分析工作,你的分析是否有价值由你的分析思路来决定。
当然对于数据分析师,技术也是非常重要的,目前互联网公司每天收到的打点数据(记录用户的点击,浏览等行为)一般都是GB甚至TB级别的,如果说你只会用Excel,肯定是完成不了分析工作的,所以如果你准备进入数据分析行业,以下的技术能力最好还是都具备。
这是之前整理的一份数据分析相关的技术域,算是目前比较主流的要求,另外像R,SPSS,SAS等等数据相关的工具语言,我这边是不推荐各位花时间去学习,因为现在用的公司已经越来越少了,大部分的使用场景用Python都能满足,更重要的是Python免费!
推荐学习顺序:
这两项学习成本不高,但带来的收益可能是最高的,特别是Excel,如果Excel用的很好,轻量级的分析任务都能轻松完成。
Excel对于办公室人群都是必备的一项技能,但其实大部分人也就只会调个字体,颜色,剩下全是靠Ctrl-C和Ctrl-V。
Excel真是一款非常强大的工具,所以在使用Excel的时候如果有什么需求请第一时间去百度,绝对能找到你想要的函数来实现。
调整前
调整后
目前市面上比较主流的商业可视化分析工具一般有Tableau和PowerBI,国内也有诸如帆软等产品,但目前做的最好的应该还是Tableau。
其实这些可视化工具用起来都大同小异,所以学一个就好了,首推Tableau吧,Tableau这几年在国内开始推广,用的公司肉眼可见的多起来了,官方有很完整的教程,学起来很方便的(小声BB:激活码可以淘宝购买)。
SQL应该是每个数据分析师必知必会的一项技能,这也是在你面试数据分析时候考察最多的一项技能。
当你成为一名数据分析师之后,你会发现你可能80%的时间都是在敲SQL。
SQL在所有编程语言中应该是比较容易的,而且对于数据分析师来说你只需要学会查询即可,增删改用到的情况非常少,而且很多时候不会给分析师增删改的权限,所以学起来的话其实不难。
目前市面上主流的关系型数据库有MySQL,Oracle等,与之对应的SQL语法都存在一些差异。另外对于很多互联网公司,传统的关系型数据库是满足不了海量数据的存储与计算需求的,所以近些年又出现来诸如hive,Kafka、Redis等等数据库,这样又衍生出来Hive-SQL,Presto,Spark SQL等,但好在写法逻辑是差不多的,有差别的是一些函数,所以当你能熟练的在Mysql上完成查询,在别的数据库大致也是可以的,只是需要一些时间去熟悉下函数。
各位如果自学而且周边没有数据库环境的话,建议自己安装一个Mysql库,然后在安装一个数据库管理工具(推荐Navicat),自己然后网上找些数据集导入进去,就可以开始学习了。
作为分析师你至少能熟练的完成以下功能 or 需求:
left join,right join,full join
等);group by
);rank() over,dense_rank() over,row_number() over
);row_number() over(partition by 字段1 order by 字段2 desc)
);一般分析师写的SQL大概是下面这样子的:
Python近几年的火热程度想必无须多言,「除了生孩子不会Python啥都会」这句话真不是假的,当前数据分析的招聘中,Python也是一项非常重要的技能,特别是针对高端点的职位,如果你在熟练使用SQL的基础上还会Python,薪资又会上升一个Level。
当然这其中也存在一件很尴尬的事,很多公司其实数据体系搭建的非常完善,从数据上报到仓库层再到分析层再到数据展现都有一套非常完善的流程去处理,Python的用武之地反而没有想象中那么多,很多时候只存在于一些客制化的需求,比如算法场景。
当然不管怎么说,Python能学还是尽量去学,很多时候我们用SQL+可视化工具可以完成90%的需求,但往往就是这剩下的10%的需求可以让你脱引而出。
数据分析师会在以下几个场景中用到Python:
- `matplotlib`:功能比较强大,但是图表配置项比较麻烦,默认的配色方案不太好看;
- `seaborn`:基于matplotlib开发的库,使用起来比较简单些,配色方案更讨喜;
- `pyechats`:基于百度echarts开发的,图表带有交互性,可在jupyter notebook中使用,也可直接存为html文件。
这部分开始是准备写在Python的应用场景下的,后面想想还是应该单独拿出来讲讲。
其实这部分工作应该是属于算法工程师的,但很多公司并没有专门的算法部门,所以很多时候也就由数据分析师来完成了,在数据分析师的招聘要求中我们也能经常见到「熟悉常见的机器学习算法」的要求。
在我看来,算法能力对于数据分析师不是一个必备项,但会是一个加分项。
推荐按照如下路径来提升自己:
sciklit-learn
库,两三行代码就能完成一个算法。sciklit-learn
等第三方库实现整个算法逻辑;
这样既能提升代码能力,也能提升对于算法的理解。文章开始说了,对于数据分析师来说,技术只是其中的一部分,更重要的是思维能力和对业务的理解,但这些可能不好去罗列出来,需要经验的慢慢积累沉淀。
???后续还会整理下数据分析师的面试技巧以及武汉推荐的互联网公司,各位如果有任何疑问也欢迎私信~