- 分析⽬标
各城市对数据分析岗位的需求情况
不同细分领域对数据分析岗的需求情况
数据分析岗位的薪资状况
⼯作经验与薪⽔的关系
公司都要求什么掌握什么技能
岗位的学历要求⾼吗
不同规模的企业对⼯资经验的要求以及提供的薪资⽔平 - 数据加载
import numpy as np
import pandas as pd
job = pd.read_csv('D:\WORK\STUDY\数据分析\课程资料\阶段五\Pandas数据分析库/lagou2020.csv')
job.drop_duplicates(inplace = True)
job.reset_index(inplace=True)# 重置行索引
- 数据清洗
3.1 过滤非数据分析
cond = job['positionName'].str.contains('数据分析') #
job = job[cond]
job.shape
job.reset_index(inplace=True)
3.2 薪⽔是⼀个区间,这⾥⽤薪⽔区间的均值作为相应职位的薪⽔
#1、将salary中的字符串均⼩写化(因为存在8k-16k和8K-16K)
#2、运⽤正则表达式提取出薪资区间
#3、将提取出来的数字转化为int型
#4、取区间的平均值
job["salary"] = job["salary"].str.lower()\
.str.extract(r'(\d+)[k]-(\d+)k')\
.applymap(lambda x:int(x))\
.mean(axis=1)
3.3 从job_detail中提取出技能要求
将技能分为以下⼏类 Python、 SQL、 Tableau、 Excel、 SPSS/SAS
处理⽅式: 如果job_detail中含有上述五类,则赋值为1,不含有则为0
job['Python'] = job['job_detail'].map(lambda x : 1 if 'python' in x else 0)
job['SQL'] = job['job_detail'].map(lambda x : 1 if 'sql' in x else 0)
job['Tableau'] = job['job_detail'].map(lambda x : 1 if 'tableau' in x else 0)
job['Excel'] = job['job_detail'].map(lambda x : 1 if 'excel' in x else 0)
job['SPSS/SAS'] = job['job_detail'].map(lambda x : 1 if ('spss' in x) or ('sas' in x) else 0)
3.4 处理⾏业信息
def convert(x):
field = x.split(",")
if (field[0]=="移动互联⽹") and (len(industry)>1):
return field[1]
else:
return field[0]
job["industryField"] = job.industryField.map(convert)
- 各城市对数据分析岗位的需求量
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family']='KaiTi'
plt