数据分析行业薪资的秘密,你想知道的都在这里(3)

第三部分:数据分析职位需求分布

数据分析师的收入怎么样?哪些因素对于数据分析的薪资影响最大?哪些行业对数据分析人才的需求量最高?我想跳槽,应该选择大公司大平台还是初创的小公司?按我目前的教育程度,工作经验,和掌握的工具和技能,能获得什么样水平的薪资呢?

我们使用python抓取了2017年6月26日拉钩网站内搜索“数据分析”关键词下的450条职位信息。通过对这些职位信息的分析和建模来给你答案。

c6d99000-d954-4208-8cf5-4b88e351513f-728-600x247

本系列文章共分为五个部分,分别是数据分析职位信息抓取,数据清洗及预处理,数据分析职位分布分析,数据分析薪资影响因素分析,以及数据建模和薪资预测。这是第三篇:数据分析职位需求分布。

第三篇文章我们来关注数据分析职位的需求分布情况。想要入数据分析坑的小伙伴们需要特别关注。我们以拉钩网的数据为基础,从行业,公司和个人三个层面入手,通过8个主要维度对数据分析的需求分布以及数据分析职位对候选人的硬件要求进行剖析。

数据分析前的准备工作

首先在分析开始之前依然是导入我们所需使用的库文件。这里除了常见的正则表达式库re,数据处理和分析库numpy和pandas以外,还有结巴分词库jieba和图表绘制库pyplot。

#导入所需数据
import re
import numpy as np
import pandas as pd
import jieba as jb
import jieba.analyse
import jieba.posseg as pseg
from matplotlib import pyplot as plt

 

导入我们之前清洗和预处理后的数据表。

#导入清洗后的数据表
lagou=pd.DataFrame(pd.read_csv('lagou_clear_data_1.csv',header=0,encoding='GBK'))

行业及城市数据分析职位分布情况

首先从行业和城市两个维度进行分析,我们统计了17个不同行业以及中国10个热门城市对于数据分析这个职位的需求,并进行了对比。

不同行业数据分析职位需求情况

在17个细分行业中,对于数据分析这个职位需求量最高的是移动互联网行业,其次是金融和电子商务行业。需求量最少的三个行业则是生活服务,旅游和文化娱乐行业。以下是具体的数据处理和图表生成过程。

industry=lagou["industry_1"].value_counts()
#图表字体为华文细黑,字号为15 
plt.rc('font', family='STXihei', size=10) 
#创建一个一维数组赋值给
a=np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]) 
#创建柱状图,数据源为按用户等级汇总的贷款金额,设置颜色,透明度和外边框颜色 
plt.barh([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],industry,color='#99CC01',alpha=0.8,align='center',edgecolor='white') 
#设置x轴标签 
plt.xlabel('职位数量') 
#设置y周标签 
plt.ylabel('所属行业') 
#设置图表标题 
plt.title('不同行业数据分析职位数量') 
#设置图例的文字和在图表中的位置 
plt.legend(['职位数量'], loc='upper right') 
#设置背景网格线的颜色,样式,尺寸和透明度 
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='x',alpha=0.4) 
#设置数据分类名称 
plt.yticks(a,('移动互联网','金融','电子商务','数据服务','020','企业服务','游戏','社交网络','教育','信息安全','其他','广告营销','硬 
件','医疗健康','生活服务','旅游','文化娱乐')) 
#显示图表
plt.show()

不同行业数据分析职位数量

不同城市数据分析职位需求情况

从城市维度来看,北上广深一线城市毫无悬念的成为对数据分析人才需求最多的城市。其中尤以北京更为突出。TOP10城市中对数据分析人才需求最少的三个城市是成都,武汉,合肥。职位数量都不足5个。在TOP 10以外还有更多城市仅有一个职位。从数据分析的职位分布情况来看,逃离北上个这个概念明显不适于希望从事数据分析的小伙伴们。以下是具体的数据处理和图表生成过程。

lagou_city=lagou['city'].value_counts()
#图表字体为华文细黑,字号为15 
plt.rc('font', family='STXihei', size=15) 
#创建一个一维数组赋值给
a=np.array([1,2,3,4,5,6,7,8,9,10]) 
#创建柱状图,数据源为按用户等级汇总的贷款金额,设置颜色,透明度和外边框颜色 
plt.bar([1,2,3,4,5,6,7,8,9,10],lagou_city[:10],color='#99CC01',alpha=0.8,align='center',edgecolor='white') 
#设置x轴标签 
plt.xlabel('城市') 
#设置y周标签 
plt.ylabel('职位') 
#设置图表标题 
plt.title('数据分析职位城市分布') 
#设置图例的文字和在图表中的位置 
plt.legend(['职位数量'], loc='upper right') 
#设置背景网格线的颜色,样式,尺寸和透明度 
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='y',alpha=0.4) 
#设置数据分类名称 
plt.xticks(a,('北京','上海','深圳','广州','杭州','厦门','南京','成都','武汉','合肥')) 
#显示图表 
plt.show()

数据分析职位城市分布
不同公司数据分析职位需求量

其次,再来从公司规模和融资阶段两个维度来分析下数据分析的职位需求状况。大公司和小公司哪一个更需要数据分析人才。创业公司和上市公司对数据分析的需求差别有多大?下面我们给出答案。

不同规模公司数据分析职位需求情况

拉钩网按公司人数对发布职位的公司分为了5类,我们统计并对比了这5类不同规模公司发布的职位数量,从对比结果可以发现规模最小的公司(15-50人)对数据分析人才的需求量最少。而随着公司规模的增长数据分析人才的需求量也在增长。两者成正相关关系。

可以想象,公司人数很少的时候涉及的数据量通常也较少,此时并不需要有专职的人来做数据分析,大部分决策也并不需要数据支持,创始人或老板根据自己所掌握的信息就可以进行判断了。而规模较大的公司(2000人以上)会有自己的数据分析部门或团队。但大部分数据分析人员从事的则可能只是简单的取数和执行类的工作。

companySize_1=lagou['companySize'].value_counts()
#图表字体为华文细黑,字号为15 
plt.rc('font', family='STXihei', size=15) 
#创建一个一维数组赋值给
a=np.array([1,2,3,4,5]) 
#创建柱状图,数据源为按用户等级汇总的贷款金额,设置颜色,透明度和外边框颜色 
plt.barh([1,2,3,4,5],companySize_1,color='#99CC01',alpha=0.8,align='center',edgecolor='white') 
#设置x轴标签 
plt.xlabel('职位数量') 
#设置y周标签 
plt.ylabel('公司规模') 
#设置图表标题 
plt.title('不同规模公司数据分析职位数量') 
#设置图例的文字和在图表中的位置 
plt.legend(['职位数量'], loc='upper right') 
#设置背景网格线的颜色,样式,尺寸和透明度 
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='x',alpha=0.4) 
#设置数据分类名称 
plt.yticks(a,('2000人以上','500-2000人','150-500人','50-150人','15-50人')) 
#显示图表 
plt.show()

不同规模公司数据分析职位数量
不同融资阶段数据分析职位需求情况

衡量公司规模的另外一个方法是看公司的财务状况,对于互联网类公司或者初创公司则是不同的融资阶段。毕竟融资情况和公司人员规模有密切的联系。我们统计并对比了8个融资阶段的公司对于数据分析人才的需求情况。

天使轮需求最少,上市公司和不需要融资的公司需求量最多。这结合前面的公司规模数据比较容易理解。天使轮人少钱也少,要花在刀刃上。上市公司普遍规模较大,数据分析方面的需求也较多。从A轮开始对数据分析的需求有了明显的增长。投资人需要看数据来衡量业务发展情况。但从A轮到D轮对数据分析人才的需求并不是线性增长的,这可能和公司所处的行业有关。

financeStage=lagou["financeStage1"].value_counts()
#图表字体为华文细黑,字号为15 
plt.rc('font', family='STXihei', size=10) 
#创建一个一维数组赋值给
a=np.array([1,2,3,4,5,6,7,8]) 
#创建柱状图,数据源为按用户等级汇总的贷款金额,设置颜色,透明度和外边框颜色 
plt.barh([1,2,3,4,5,6,7,8],financeStage,color='#99CC01',alpha=0.8,align='center',edgecolor='white') 
#设置x轴标签 
plt.xlabel('职位数量') 
#设置y周标签 
plt.ylabel('所属行业') 
#设置图表标题 
plt.title('不同金融阶段业数据分析职位数量') 
#设置图例的文字和在图表中的位置 
plt.legend(['职位数量'], loc='upper right') 
#设置背景网格线的颜色,样式,尺寸和透明度 
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='x',alpha=0.4) 
#设置数据分类名称 
plt.yticks(a,('上市公司','不需要融资','B轮','D轮','A轮','C轮','未融资','天使轮')) 
#显示图表
plt.show()

不同财务阶段数据分析职位数量
数据分析职位对个人能力的要求

最后,从个人能力的维度来看下数据分析的需求分布情况。这里既包括了对数据分析人才的学历及工作年限要求,也包括一些对数据分析工具和能力的软性要求。

数据分析对工作年限的要求

从工作年限来看,大部分公司的需求都集中在1-3年和3-5年这两个阶段。这两个阶段的人通常都比较年轻,精力旺盛,对薪资也没有特别高的要求,并且学习能力较强。这也可以解释培训班出来的同学为什么要声明有3年工作经验。而一年以下工作经验的需求量最低,甚至低于应届毕业生。这可能是考虑到不到1年的工作经验时间太短,会不太稳定。

lagou_workYear=lagou['workYear'].value_counts()
#图表字体为华文细黑,字号为15 
plt.rc('font', family='STXihei', size=15) 
#创建一个一维数组赋值给
a=np.array([1,2,3,4,5,6]) 
#创建柱状图,数据源为按用户等级汇总的贷款金额,设置颜色,透明度和外边框颜色 
plt.barh([1,2,3,4,5,6],lagou_workYear,color='#99CC01',alpha=0.8,align='center',edgecolor='white') 
#设置x轴标签 
plt.xlabel('职位') 
#设置y周标签 
plt.ylabel('工作年限') 
#设置图表标题 
plt.title('数据分析职位对工作年限的要求') 
#设置图例的文字和在图表中的位置 
plt.legend(['职位数量'], loc='upper right') 
#设置背景网格线的颜色,样式,尺寸和透明度 
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='x',alpha=0.4) 
#设置数据分类名称 
plt.yticks(a,('1-3年','3-5年','5-10年','不限','应届毕业生','1年以下')) 
#显示图表 
plt.show()

数据分析职位对工作年限的要求

数据分析对学历的要求

从学历的维度来看,本科学历的数据分析人才需求量最高,占79.7%。其次为大专学历13.2%。博士和硕士学历的需求量则较低。

lagou_education=lagou['education'].value_counts()
#图表字体为华文细黑,字号为15 
plt.rc('font', family='STXihei', size=15) 
#设置饼图中每个数据分类的颜色 
colors = ["#99CC01","#FFFF01","#0000FE","#FE0000","#A6A6A6","#D9E021"] 
#设置饼图中每个数据分类的名称 
name=['本科', '大专', '不限', '硕士', '博士'] 
#创建饼图,设置分类标签,颜色和图表起始位置等 
plt.pie(lagou_education,colors=colors,explode=(0, 0, 0, 0, 0),startangle=60,autopct='%1.1f%%') 
#添加图表标题 
plt.title('数据分析职位学历要求') 
#添加图例,并设置显示位置 
plt.legend(['本科', '大专', '不限', '硕士', '博士'], loc='upper left') 
#显示图表 
plt.show()

数据分析职位学历要求

不同职级数据分析的需求量

从职级的维度来看,需求量最大的是其他分类,这里大部分的title是数据分析师。应该属于初级偏执型的职位。其次为数据工程师。从另一个角度来看,职位的名称和级别也从表明了职位的工作内容。这样来看,偏执行和技术类的职位需求量相对较大,而总监,经理,主管这类偏管理类的职位需求则相对少一些。

positionName1=lagou['positionName1'].value_counts()
#图表字体为华文细黑,字号为15 
plt.rc('font', family='STXihei', size=15) 
#创建一个一维数组赋值给
a=np.array([1,2,3,4,5,6,7,8,9]) 
#创建柱状图,数据源为按用户等级汇总的贷款金额,设置颜色,透明度和外边框颜色 
plt.barh([1,2,3,4,5,6,7,8,9],positionName1,color='#99CC01',alpha=0.8,align='center',edgecolor='white') 
#设置x轴标签 
plt.xlabel('职位数量') 
#设置y周标签 
plt.ylabel('职级') 
#设置图表标题 
plt.title('不同职级数据分析职位数量') 
#设置图例的文字和在图表中的位置 
plt.legend(['职位数量'], loc='upper right') 
#设置背景网格线的颜色,样式,尺寸和透明度 
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='x',alpha=0.4) 
#设置数据分类名称 
plt.yticks(a,('其他','工程师','经理','专员','主管','实习','专家','助理','总监')) 
#显示图表
plt.show()

不同职级数据分析职位数量
数据分析工具及技能热度

最后,在工具和技能方面,我们按工具和技能在不同职位描述中被提及的次数进行了统计。来看下哪些数据分析工具和技能最受招聘公司欢迎。这里需要提前说明的是,一些工具间具有替代性,因此在职位描述中大部分公司都会同时提及这些工具的名称。

我们选择了18种数据分析中最常用的工具,这里既包括数据提取工具,也包括数据分析工具,以及最终的数据可视化工具。从排名结果来看,排在前三位的工具分别是R,SQL和Excel。排在最后的三个工具是PostgreSQL,Google Analytics和Perl。

#转换数据格式
word_str = ''.join(lagou['job_detail'])
#对文本进行分词
word_split = jb.cut(word_str)
#使用|分割结果并转换格式
word_split1 = "| ".join(word_split)
#设置要匹配的关键词
pattern=re.compile('sql|mysql|posgresql|python|excel|spss|matlab|ppt|powerpoint|sas|r|hadoop|spark|hive|ga|java|perl|tableau')
#匹配所有文本字符
word_w=pattern.findall(word_split1)
word_freq=pd.Series(word_w)
#计算不同关键词出现的频率
word_freq.value_counts()

同关键词出现的频率

在数据分析技能方面,我们粗略的列出来8个常见的技能点。其中数据分析和数据挖掘这类宽泛的技能被提及的次数最多。而重要的数据清洗,预处理这类具体的技能则很少被单独提及。热门的机器学习,深度学习和神经网络的需求量也较少。

#手动设置字典
jieba.load_userdict('dict.txt')
#对文本按字典进行分词
word_split = jb.cut(word_str)
#使用|分割结果并转换格式
word_split1 = "| ".join(word_split)
#设置要匹配的关键词
pattern=re.compile('数据分析|清洗|预处理|深度学习|神经网络|机器学习|数据挖掘|数据建模')
#匹配所有文本字符
word_w=pattern.findall(word_split1)
word_freq=pd.Series(word_w)
#计算不同关键词出现的频率
word_freq.value_counts()

同关键词出现的频率1
本篇文章我们通过分析和对比发现数据分析职位的需求主要集中在北上广深四个一线城市,在行风方面,移动互联网,金融行业和电子商务行业都对数据分析人才有着较大的需求量。规模较大的公司和融资及上市公司数据分析的岗位较多,但有可能多为初级职位。学历方面80%的本科学历需求说明这是一个门槛。1-3年的初级分析师和3-5年的中级分析师在市场上最受欢迎。所以,3年工作经验很重要。1年以下工作经验则有负面影响。在个人技能方面,R,SQL和Excel是三个必须掌握的工具,因为大部分职位都对这三个工具有要求。分析技能方面数据分析和数据挖掘也很重要,适当掌握一些编程语言有加分作用。

下一篇文章我们将从薪资的角度对数据分析职位进行分析和对比,告诉你哪些因素影响了数据分析师的薪资收入,哪些工具和技能可以帮助数据分析在跳槽时获得更高的薪资。请继续关注本系列文章。

—【所有文章及图片版权归 蓝鲸(王彦平)所有。欢迎转载,但请注明转自“蓝鲸网站分析博客”。】—

Speak Your Mind

*