前言
在“大数据”、“人工智能”愈来愈被广泛提起之后,数据分析也更多地出现在大众的视野。还记得我最早注意到这个岗位是在2016年的下半年,那时候知乎上就出现了很多与数据分析相关的问题和回答。如今2018年已过半,数据分析这个岗位发展得如何了呢?在北上广深这些城市之外,是否也具备有力的发展势头呢?本项目便从杭州的数据分析岗位入手,探索数据分析师这一岗位的现状。
一、研究问题
1、杭州的数据分析岗位的需求主要分布在哪些区域、行业?
2、数据分析师对经验、学历的要求如何?
3、数据分析的薪酬分布情况如何?
4、哪些企业存在较为高级的数据分析师需求?
5、不同招聘网站之间有什么差别?
接下来就是实际操作的过程
二、数据收集
爬虫工具:八爪鱼
参考教程:八爪鱼官方视频
数据来源:智联招聘(8879条)、拉勾网(256条)
筛选依据:城市-杭州,搜索项-数据分析
采集时间:2018年6月18日
附上原始数据下载链接(度盘)~~熬夜肝电脑的成果:
https://pan.baidu.com/s/1zkFvwGepOMS6Fr6xVz7rowpan.baidu.com
密码:s1pp
三、数据清洗
因为智联招聘采集的数据量非常大,所以以此为例记录一下数据清洗的过程。主要涉及到的操作有筛选、查重、数据透视表,以及一些公式,如count、find、search、if、len、left、mid、quartile等,还是比较基础的。
下面进入具体的操作步骤——
1、删除重复项(列全选),这部分冗余数据是爬虫工具中的重复操作造成的:
2、删除职位名称缺失项
3、删除不相关职位数据
筛选[职位名称]中包含“数据”or“分析”or”运营“字眼的数据:
=COUNT(FIND({“数据”,”分析”,”运营”},A2))
——将count和find结合的用法
结果包含四种,分别是0、1、2、3,也就是说,结果数值越大,说明该职位包含的相关字眼越多,可以猜测是职位兴趣相关性越高。
但是考虑到“运营”这个关键词可能与数据分析职位的关联性并不强,因此我们单独筛选出运营相关的职位来验证一下这个猜想:
通过结果可以看出,在不包含“数据”“分析”,仅包含“运营”关键词时,筛选出的职位并不在我感兴趣范围内,所以“运营”这个关键词可以从公式中删除,最终采用的职位筛选公式是:
=COUNT(FIND({“数据”,”分析”},A2))
到这一步,有效的数据相较最初所剩不多了,由原本的5000+变为500+。
接下来通过职位名称长度、职位名称关键字等进一步筛选,删除不符合要求的职位,如数据文员。
4、数据清洗
首先是职位月薪这一列,我将把它按照最低薪资和最高薪资分为两列,便于后续数值分析。
=LEFT(F3,SEARCH(“-“,F3)-1) #最低薪资 =MID(F3,FIND(“-“,F3,1)+1,LEN(F3)-FIND(“-“,F3,1)-3) #最高薪资
结果(注意将结果转化为数值格式,以便后续分析):
其中#VALUE项个数较少,主要分布在阿里巴巴,此外分布在京东、中软国际、华为几个公司,考虑到这些公司的实际情况,我取薪资整体的第三个四分位数(第75个百分点值)对缺失项进行填充,尽可能降低对后续分析结果的影响。
=QUARTILE.EXC(G:G,3) #“3”表示取第三个四分位数(第75个百分点值)
5、最后再删除职位名称and公司名称重复的数据。
最后简要总结一下数据清洗的主要思路:
1-数据预处理
2-处理缺失项
3-删除无关项
4-修正内容格式
5-数据查重(放在最后谨慎操作)
其实每一步骤都涉及到思考和抉择,不同的方法会对结果有着不