数据分析岗位可视化

1、整体思路

1.数据类岗位整体需求
2.城市、学历、工作经验对薪水的影响
3.不同岗位对应的学历要求、薪水分布情况

1、导入数据并查看数据

(此处数据由mysql数据库导入)

#读取数据
df = pd.read_sql_query('select * from Boss_analyst',con=engine)

在这里插入图片描述
字段解释
position - 职位
salary_range - 薪水区间
work_year - 工作经验
city - 城市
tag1 - 技能标签1
tag2 - 技能标签2
tag3 - 技能标签3
tag4 - 技能标签4
tag5 - 技能标签5
company_name - 公司名称
text - 未知
company_type - 公司类型
company_welfare -公司福利
此处数据已清洗完毕

2.数据类岗位整体需求

在这里插入图片描述
结论:
学历:大专是基本要求,本科招的最多
工作经验:3-5年的工作经验最受欢迎,行业经验较多,能够独自完成项目
岗位分布:北山广深杭需求差不多,相对而言,北京最多,广州偏少
公司融资情况:大多是上市公司,都是大规模企业
公司类别:行业分布,互联网行业需求较多
薪水:受工作经验影响较大,3年集中在20-30k
总的来说,绝大多是公司更愿意要有经验的求职者,而且要求越来越高

代码展示

plt.figure(figsize=(16,9))

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

# 学历
plt.subplot(2,3,1)
df_full_job1.education_background.value_counts().plot(kind='barh',alpha=0.8)

# 工作经验
plt.subplot(2,3,2)
df_full_job1.work_year.value_counts().plot(kind='barh',alpha=0.8)

# 岗位分布 city
plt.subplot(2,3,3)
df_full_job1.city.value_counts().plot(kind='pie',autopct='%.1f%%')

# 公司融资情况 company_financing
plt.subplot(2,3,4)
df_full_job1.company_financing.value_counts().plot(kind='barh',alpha=0.8)

# 公司类别 company_type
plt.subplot(2,3,5)
df_full_job1.company_type.value_counts().head(6).plot(kind='barh',alpha=0.8)

# 薪水 划分层次
plt.subplot(2,3,6)
bins = [0,3,5,10,15,20,30,105]
level = ['0-3','3-5','5-10','10-15','15-20','20-30','30-150']
df_full_job1['avg_salary_level'] = pd.cut(df_full_job1['avg_salary'],bins=bins,labels=level)
df_full_job1.avg_salary_level.value_counts().head(6).plot(kind='barh',alpha=0.8)


#调整子图的间距
plt.tight_layout()

3.城市、学历、工作经验对薪水的影响

3.1 城市与薪水

**结论:**北京薪资在20-30k以及30k以上占比较多,广州10k以下占比较高
在这里插入图片描述

# 城市与薪水
# stack函数会将数据从“表格”结构变成“花括号结构”,即将其行索引变成列索引
# unstack函数将数据从“花括号结构”变成“表格”结构,即要将其中一层的列索引变成行索引
# 聚合计算是axis=1, 表示按行计算,axis=0表示按列计算
df_full_job1_groupby = df_full_job1.groupby(['city','avg_salary_level']).avg_salary.count().unstack()
df_full_job1_groupby_1 = df_full_job1_groupby.apply(lambda x: x/x.sum(),axis=1)
df_full_job1_groupby_1.plot(kind='bar',stacked=True,figsize=(9,7),alpha=0.8,width=0.2)

# plt.legend(bbox_to_anchor=(1.04,1), loc="upper left")  手动的设置  左下角(0,0),右上角(1,1)
plt.legend(bbox_to_anchor=(1.04,1))

3.2 学历与薪水

**结论:**从学历看,学历越高起步价越高,上限越高,学历不限存在多种因素如培训机构¶在这里插入图片描述
代码展示

df_full_job1.boxplot(column='avg_salary',by='education_background',figsize=(9,7))

3.3 工作经验与薪水

**结论:**应届生与有工作经验相比薪资差距巨大,且应届生薪资水平差不多
在这里插入图片描述
代码展示

df_full_job1.boxplot(column='avg_salary',by='work_year',figsize=(9,7))

3.3 不同岗位对应的学历要求、薪水分布情况

**结论:**数据分析站了一半,市场对此需求更高
在这里插入图片描述

结论:
数据分析岗位:20-30k薪资占大多数
数据挖掘岗位:主要是20-30k和30k以上,各类岗位中,数据挖掘30k以上最多
数据运营岗位:主要分布在5-10k
在这里插入图片描述

**结论:**岗位基本要求在本科,最少要求是大专,本科要求占比最高
在这里插入图片描述
代码展示

df_full_job1.position.value_counts().plot(kind='pie',autopct='%.1f%%',figsize=(5,5))
df_full_job1.groupby(['avg_salary_level','position']).agg({'position':'count'}).unstack().plot()
plt.legend(bbox_to_anchor=(1.04,1))

#学历要求
df_full_job1.groupby(['education_background','position']).agg({'education_background':'count'}).unstack().plot(kind='barh',figsize=(9,7))
plt.legend(bbox_to_anchor=(1,0.7))
  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值