前言:对一个运营人来说,数据可以监测店铺运营状态,可以帮助制定经营目标,数据分析是运营工作的必须掌握的一项技能。
本文将对数据分析师这个行业的求职环境和薪资水平做一个简单的分析,使用的工具是Excel,旨在对数据分析操作过程做一个梳理和记录。
一.明确分析需求
(1)各城市对数据分析师岗位需求情况
(2)各城市各工作年限的招聘占比情况
(3)各学历的招聘占比情况
(4)数据分析师在各城市的薪资水平情况
(5)工作经验的不同,薪酬的变化情况
二.理解数据
本次数据分析一共有6800+条数据,在数据准备阶段我们要做的是理解每一列数据的意义和作用,以便于数据分析过程能够准确的调用。
城市:用于比较不同城市对数据分析师的需求如何
教育要求:用于比较各学历的岗位占比
职位ID:表示职位的唯一表示,也就是每一行数据的唯一标识,用于去掉重复ID
薪水:比较不同城市、和所属领域的薪水区别
工作年限:从时间轴上对比薪资涨幅
三.数据清洗和转换
为了方便后续处理、分析、呈现,要去掉重复无效的数据,甚至改变表格结构,将数据变成干净可直接使用的数据。
(1)删除重复值。这里【职位ID】代表每行数据的唯一性。删除重复数据后,保留了5031行唯一数据。
(2)缺失值处理
首先检查数据是否存在缺失值,先查看完整数据列【职位ID】的计数:5032行,再选择其他列查看是否缺少数据,对缺失数据的处理有多种方法,根据实际情况选择最为合理的处理方式。
一般对缺失值的处理有4种方法,根据情况灵活使用:
① 通过人工手动补全(缺失值较少,并且可以根据其他信息确定该值)
② 删除缺失的数据(无法判断该位置填写何值,或者删除的数据对分析无大的影响
③ 用平均值代替缺失值
④ 用统计模型计算出的值去代替缺失值
通过查看可以发现【城市】列缺失2条数据,由于缺失数据较少,并且可以通过【公司所在商区】确定缺失数据都为“上海”,这里选用人工手动补全。操作:选择【城市】列--{开始-查找和选择-定位条件-空值}-定位到所有空值-输入“上海”-使用Ctrl+Eneter快捷键填写所有空值。
Ctrl+Eneter快捷键:在不连续的单元格中同时输入同一个数据或公式。
(3)选择子集
在表格中有些数据是我们分析过程中使用不到的,将其隐藏(尽量不删,保证数据的完整性)。
这里隐藏的列有:【公司全名】、【公司ID】、【公司所在商区】、【职位福利】。
(4)列名重命名
将不合适的列名更改为我们容易理解的形式。
(5)字段分列
①字段【公司所属领域】中有跨领域的情况存在,所以要对该列数据进行拆分。
操作:将【公司所属领域】复制到最后一列(因为分列后的单元格会覆盖右边的单元格),重命名为【公司所属领域1】,{数据--->分列--->选择“分隔符号”--->下一步--->分隔符合选择逗号--->勾选(连续分隔符视为单个处理)---完成}将分隔出来的列重命名为【公司所属领域2】。
②将字段【薪水】处理为【最低薪水】、【最高薪水】、【平均薪水】,用于存放清洗后的薪水数据。
这里有两种方法可以实现:
第一种是上面提到的分列,用-作为分隔符再将k替换。再用函数AVERAGE求出平均薪水。
第二种是利用函数实现:
LEFT函数与FIND函数结合求最低薪水:left(单元格位置,第一个k出现的位置-1)
=LEFT(T2,FIND("k",T2)-1)
筛选出上述步骤中出现的错误值,可以发现是由于原数据【薪水】中的k为大写K,将【薪水】中的所有K替换成k。
FIND函数的意思是查找一个字符串在另一个字符串中出现的起始位置,用来对原始数据中某个字符串进行定位,以确定其位置。
FIND(要查找的字符串,字符串所在单元格的位置)从指定位置开始,返回到第一个匹配字符串的位置,不管其后是否还有相匹配的字符串。
LEFT/RIGHT函数从左/右开始截取字符串。
Left/RIGHT(字符串所在单元格的位置,从左/右开始到**位置进行截取)
Mid函数、find函数、len函数结合求最高薪水:mid(单元格位置,-出现的位置+1,-与右边的k之间的长度即总长度-“-”的位置-1个k的位置)
=MID(T2,FIND("-",T2)+1,LEN(T2)-FIND("-",T2)-1)
MID函数从中间截取字符串,LEN函数计算字符串长度。
Mid(字符串所在单元格的位置,开始位置,截取长度)
筛选出上述步骤中出现错误的最高薪水,找到原因:原数据【薪水】列是**K以上,不是范围。
选中最高薪水列,定位为错误,delete删除错误值--再在单元格内输入=ctrl+方向键←(让其等于最低薪水)--CTRL+enter(在不连续的单元格中同时输入同一个数据或公式)
再把带公式的最高/低薪水复制粘贴为数值。
在操作的时候会出现数字显示为文本格式,可以选择该列*1,使其转换为数字格式。或者全选ctrl+SHIFT+↓点橙色感叹号--->转化为数字。
最后用函数AVERAGE求出平均薪水。
(6)异常值处理
在查看【职位名称】时发现,职位中有一些不属于数据分析师的岗位,需要把这些职位筛选过滤掉。
操作:①在原表【职位名称】列后插入新的列命名【是否为数据分析职位】;
②插入函数=IF(COUNT(FIND({"数据运营","数据分析","分析师"},L2)),"是","否"),双击单元格由下方进行自动填充;
③筛选出“是”,过滤掉异常值。
四.数据分析及可视化呈现
通过以上数据清洗过程,数据已经是可以直接使用的干净数据了,现在开始真正进入数据分析。数据分析通过数据透视表实现,最终通过可视化图表直观明了的展现。
(1)各城市对数据分析师岗位需求情况
操作:行标签 :城市;值:计数项 城市。 值显示方式-->总计的百分比
由数据可见,从杭州往下的占比都不足3%,为了更清晰的展示局部占整体的百分比情况,我们选择通过字母饼图,将占比较少的放到第二绘图区。
操作:选中赋值的数据表-->插入选中子母饼图。选中插入的饼图-->右键选中数据系列格式,将系列分隔依据的值改成小于7%,调整饼图样式,使之美观。
结论:从数据透视表可以看出,在北京数据分析的岗位最多,往后是上海、深圳、杭州、广州。
(2)各城市各工作年限的招聘占比情况
行标签:城市; 列标签:工作年限 。值:城市 计数
将值显示方式改为:总计百分比。
用百分比堆积柱状图来展示各城市各工作年限岗位需求情况。
结论:从数据透视表可以看出,按工作年限要求来看,1-3年的需求量最大,其次是3-5年,这说明数据分析对年轻人需求将更多。
(3)各学历的招聘占比情况
行标签:教育要求;值:计数项 教育要求。值显示方式:总计的百分比
结论:从数据透视表可以看出,从学历要求上看,本科学历的需求量最大,其次是专科,博士占比非常少。
(4)数据分析师在各城市的薪资水平情况
行标签:城市,值:平均值项 平均薪水
结论:从数据透视表可以看出,深圳平均薪资最高,北京和深圳薪资相差不大,其次北京,上海,杭州。
(5)工作经验的不同,薪酬的变化情况
行标签:工作年限 值:平均值项 平均薪水
结论:从上面数据透视结果可以看出,随着工作经验的增长,数据分析师的薪酬也在不断增加。
综合以上数据透视分析结果,我们可以得出以下分析结论:
(1)北京、上海、广州、深圳、杭州占据了数据分析岗位数量的90%以上,数据分析师的工作机会主要集中在一线城市,如果想从事数据分析师,最好去这些城市发展,其他城市可选择性较低。
(2)从薪资水平来看,深圳和北京平均薪资较高,其次是上海、杭州,这也说明了,想要长期从事数据分析师岗位,首先应选择一线城市。从工作年限随平均薪资的变化曲线可以看到,前期薪资增长较慢,后期增加较快,10年以上工作经验的人,可以获得相当丰厚的薪酬。
(3)从学历方面来看,本科学历占比超过一半,可见本科成为数据分析岗位中最为常见的学历门槛,其次是大专,硕士以上学历与不限,占据较少部分,可见数据分析师岗位的性质,相比与学术型的研究工作,更偏向于结合业务分析。
(4)结合学历和工作年限要求可以看出,数据分析师是个偏年轻化的岗位,大量的工作岗位集中在1-5年工作年限。结合薪酬随工作年限变化曲线来看,数据分析师需要在3年内提升自己的业务能力,3年后薪酬会有较大的增长,5年是个瓶颈期,如果5年内没有较大的能力提升,之后的竞争压力会很大。