数据集介绍
本次数据集来源于xx招聘网共计4223条招聘信息,每条招聘信息字段包括岗位名称、公司名称、工作经验要求、学历要求、工作地点、薪酬、公司规模、发布时间、公司福利共9条字段信息。
数据预处理
首先导入本次数据集,
import pandas as pd
data = pd.read_csv('job_data.csv')
data.head()
查看数据缺失值情况,
data.isnull().sum()
通过缺失值情况,我们发现公司规模缺失值较多,而这个字段数据对于本次分析没有太大用处,故在这里直接删除这一列,对于其他少量缺失值,直接删除就好。
data.drop('公司规模',axis=1,inplace=True)
data.dropna(inplace=True)
data.shape
接着就是处理数据集中的字段信息,便于后面的数据可视化
# 处理工作经验要求
data['工作经验要求'] = data['工作经验要求'].replace(to_replace=
{
'无需经验':'经验不限','经验在校/应届':'经验不限','1年经验':'1-3年','2年经验':'1-3年','经验1-3年':'1-3年',
'经验1年以下':'1-3年','3-4年经验':'3-5年','经验3-5年':'3-5年','5-7年经验':'5-10年','经验5-10年':'5-10年',
'8-9年经验':'5-10年','10年以上经验':'10年以上','经验10年以上':'10年以上'})
# 处理学历要求
data['学历要求'] = data['学历要求'].replace(to_replace={
'大专':'专科及以下','高中':'专科及以下','不限':'专科及以下','中技/中专':'专科及以下'})
# 获取工作城市
data['工作城市'] = data['工作地点'].apply(lambda x:x.split('-')[0])
data['工作城市'] = data['工作城市'].apply(lambda x:x.split('·')[0])
def avg_salary(x):
try:
start = x.split('-')[0]
end = x.split('-')[1]
if end[-1] == '千':
start_salary = float(start)*1000
end_salary = float(end[:-1])*1000
elif end[-1] == '万':
if start[-1] == '千':
start_salary = float(start[:-1])*1000
end_salary = float(end[:-1])*10000
else:
start_salary = float(start)*10000
end_salary = float(end[:-1])*10000
elif end[