继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

数据分析岗招聘研究

慕慕汐
关注TA
已关注
手记 3
粉丝 6
获赞 23


      本报告爬取智联招聘、前程无忧、BOSS直聘三个具有代表性的网站,爬取数据分析相关职位信息,用EXCEL进行分析,实现步骤如下:


一、按什么思路进行分析?  


https://img2.mukewang.com/5b71fa350001959002080423.jpg


二、数据分析实操过程

      用于分析的数据是各个城市关于数据分析职位的招聘信息, 接下来我们就按照数据分析的步骤来一步一步进行操作。

Step1:提出问题

       不是以终为始做出的数据分析结论再漂亮都是没有用的。所以我们要先来确定一下,我们想通过数据分析了解的内容是什么。

现在手中数据是关于数据分析岗位在各个城市的招聘信息,那我关心的是:

  1. 这个岗位的现状如何,能不能满足我目前的物质需求同时有机会可以做到;

  2. 这个岗位发展潜力如何,值不值得作为职业发展方向;

  3. 这个岗位对于应聘人员有没有什么偏好,有哪些要求;

Step2:理解数据

是说我们需要对数据包含的信息有一个大体的了解,可以考虑针对想解决的问题,可以从哪些方向进行分析,此次所用的数据包含的信息如下:

https://img.mukewang.com/5b71fb6f00012bf303360566.jpg

可以看到包含了公司,职位和应聘人员要求三个层面的信息,之后我们可以考虑从这三个层面入手去分析问题。


Step3:数据清洗

就是把原始数据处理成我们分析需要用的状态,这是整个数据分析中非常非常重要的一步,可能会花费整个过程60%的时间,但是这是值得的,因为清洗后可以避免分析过程出现数据问题,同时可以提高分析结果的有效性。

数据清洗如此重要,所以它也是有一个标准流程的,我们可以掌握这个套路,同时提高数据清洗的效率和质量。

5b7194cf00016d8d06001068.jpg

  1. 选择子集

不是数据集中所有的变量都是这次分析要用的,我们可以先选定需要用的信息,其余的列隐藏起来。(注意,这里不要删除掉而是隐藏,万一过程中想要用还可以取消隐藏重新编辑。)

数据中:

①“公司全名”、“公司ID”、“公司简称”全表示公司名,三选一即可,我们保留“公司简称”;
②“公司所在商区”和“职位福利”都是文字,暂时不需要;

操作方式:

5b7194cf0001350803100318.jpg

若需要用隐藏的列,可以取消隐藏:

方法1:选中全部列后单击右键出现菜单选择“取消隐藏”;
方法2:如下图操作

5b7194d00001078003370541.jpg

2. 列名重命名

适用于原来列名不容易理解或者有歧义的,此处不用修改。

3. 删除重复值

先分析什么样的重复值对于我们有影响;我们希望每条招聘信息都是唯一的,如果不唯一会造成统计结果不准确,而在数据中“职位ID”应该是一个不同招聘信息不同的变量,就像每个人的身份证号一样。所以我们考虑以“职位ID”的唯一性来进行数据去重。

具体操作:


5b7194d00001d42a03460454.jpg

4. 缺失值处理

数据条目比较多,我们需要了解是否信息都是完整的,如果不是,后续需要对缺失值进行处理。

  • 查看每列数据是否完整:因为已经选定以“职位ID”为唯一标准,所以先看一下其所在列的计数情况(共5032条),再用其他列和它对比;从图上可以看出,“城市”计数为5030条,比基准列“职位ID”少2,说明有2条缺失值。

5b7194d00001e1db03420498.jpg

  • 缺失值的处理:一般有4种方法进行缺失值处理,根据情况灵活使用:

1)通过人工手动补全
2)删除缺失的数据
3)用平均值代替缺失值
4)用统计模型计算出的值去代替缺失值

此处,只有2条缺失,且可以判断出城市应为上海,所以采取第一种方法-手动补全。这里的手动也不是真的一个一个去输入,而是采用了excel的自动填充。

5b7194d00001a31807181278.jpg

5. 一致化处理

  • 我们发现变量“公司所属领域”的写法不太一致,有的只有1个描述,有的有好多且以逗号或者顿号分开,这里我们只需要看公司所属的大领域即可,而所有描述第一个肯定是大领域,所以考虑只保留第一个(如果有多个描述)。可以使用excel的分列功能来达到目的。

5b7194d50001cdea06001068.jpg

  • 变量“薪水”是一个范围不方便我们进行计算,所以想先把它整理一下变成数值型,得到一个平均薪资再进行之后的分析。思路为先得到最低和最高薪资,再求平均;考虑的方法有两种:

方法1. 分别用 LEFT/FIND/MID 函数得到最低最高薪资,再求平均;
最低薪水= LEFT(A2,FIND("k",A2) -1)
最高薪水=MID(A2,FIND("-",A2)+1,LEN(A2)-FIND("-",A2)-1)

5b7194d500012c4e07181278.jpg5b7194e30001944303400290.jpg

计算好一行的结果,我们向下填充之后,可以通过“筛选”来查看是否有异常值;

只勾选异常值来查看原因,并进行修改;

最低薪水和最高薪水都会有错—
1. 最低薪水是因为K的字母有大写有小写,而在FIND函数中是区分大小写的,用查找替换把大写K全部替换成小写k;
2. 最高薪水因为有的薪水写的是“9k以上”,这种情况让最高薪水和最低薪水相同。

5b7194e3000104b407181278.jpg5b7194e30001c2b007181278.jpg5b7194e40001c0ef07181278.jpg

方法2: 用excel 以”-”分列得到最低最高薪资, 再用查找替换功能(ctrl+F快捷键)去除汉字“以上”和字母k, 最后求平均。

最后求平均的时候要注意,可能会出错,原因是最低最高薪水不是数值型变量,将其改为数值型后再进行计算。方法不唯一,下图为其中一种:

5b71fbbb00019a5a07181278.jpg


6. 数据排序

可以按平均薪水对全部数据进行排序,方便查看。

5b71fbbc0001f36a07181278.jpg

7. 异常值处理

到了这一步,从格式上的数据清洗就已经都做好了,剩下的是内容上的检查,比如说职位名称真的都是数据分析的岗位吗,有没有其他职位的混了进来?我们可以用数据透视表先检查一下

5b71fbbd00012f0707181278.jpg


发现果然有,像系统架构师都进来了,所以考虑设置条件,将这些都筛掉:

https://img4.mukewang.com/5b71fbfe00010fa507181278.jpg



最后,将“数据分析职位名称”=“是”的筛选出来,为了便于之后分析,将这部分复制出来另存一个excel表,我们的数据清洗部分就做完了。


Step4: 构建模型

这里我们都用数据透视表来做,如何做数据透视表上面已经说明了,接下来只说明分析思路和对应结果。

1. 分析数据分析职位的现状:
① 薪资情况-不同城市、不同行业、不同职位部门、不同工作经验、不同学历的薪资分布;
② 需求情况-不同城市、不同行业、不同职位部门、不同经验、不同学历的招聘人数;

2. 分析数据分析职位的发展前景:
① 行业情况-数据分析需求公司所在的行业分布;
② 公司规模-不同规模公司的职位分布情况;
③ 个人-不同工作经验、不同学历的职位分布情况;(上一项中已经包括)

5b71fbbe000103c207200251.jpg全国和北京薪资情况-不同城市、行业、职位部门、工作经验和学历5b71fbbf00015e7407200250.jpg全国和北京招聘人数-不同城市、行业、职位部门、工作经验和学历5b71fbc00001201603310199.jpg不同公司规模对于数据分析岗位的招聘数量和薪资情况-全国和北京

对应分析结果:

  1. 根据统计结果,目前数据分析的薪资还可以,重点关注工作经验1-3年和3-5年在北京的情况,算是还不错;

  2. 招聘的数量来看,北京居于榜首;而且招聘要求的工作经验主要集中在1-3和3-5年,学历主要集中在本科,对于我来说比较匹配;

  3. 从行业来看,目前主要集中在移动互联网或者互联网+,是属于高速发展中的行业,值得进入

  4. 从公司规模来看,数据分析的需求在大于50人的公司中是差不多,即基本所有规模的公司都需要这个岗位;

  5. 从招聘人员集中的工作经验要求来看,主要是1-5年,都属于相对短的,说明此职业正处于比较前期的阶段;10年以上的招聘信息很少,对于长期从事此职位的最终发展现在还没有成型的参考。

  6. 从薪资涨幅来看,薪资是随着经验增长而涨幅变大的;


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP