一、大数据职位数据分析与挖掘
1、数据爬取
import requests
import pprint
import re
import json
import csv
import time
f = open('300-724.csv',mode = 'a',encoding = 'gbk',newline = '')
csv_writer = csv.DictWriter(f,fieldnames = [
'岗位名称',
'公司名称',
'薪资',
'城市',
'福利',
'公司规模',
'所处行业',
'工作经验要求',
'学历要求',
'发布时间',
])
csv_writer.writeheader()
# for i in range(1,100):
for i in range(300,725):
url = 'https://search.51job.com/list/000000,000000,0000,00,9,99,%25E5%25A4%25A7%25E6%2595%25B0%25E6%258D%25AE,2,{}.html'.format(i)
headers = {
'Cookie':'',
# 'Host':'search.51job.com',
# 'Referer': url,
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53'
}
time.sleep(3)
req = requests.get(url = url, headers = headers)
html_data = re.findall('window.__SEARCH_RESULT__ = (.*?)</script>', req.text)[0]
json_data = json.loads(html_data)
engine_jds = json_data['engine_jds']
print('正在采集...')
for index in engine_jds:
if (len(index['attribute_text'])==3):
dit = {
'岗位名称':index['job_name'],
'公司名称':index['company_name'],
'薪资':index['providesalary_text'],
'城市':index['workarea_text'],
'福利':index['jobwelf'],
'公司规模':index['companysize_text'],
'所处行业':index['companytype_text'],
'工作经验要求':index['attribute_text'][1],
'学历要求':index['attribute_text'][2],
'发布时间':index['issuedate'],
}
csv_writer.writerow(dit)
else:
print('异常数据---已跳过')
print("已采集一页数据")
f.close()
print('采集完成')
采集完成
2、数据清洗
数据读取
#数据读取
import pandas as pd
df = pd.read_csv('0-725.csv',encoding="gbk")
预览数据
#预览数据
#df.head()
df
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
1-1.8万/月 |
广州-天河区 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
0.8-1.4万/月 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
1.5-2.5万/月 |
上海-浦东新区 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
2-3万/月 |
广州-海珠区 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
2.5-4万/月 |
上海-长宁区 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
25554 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7-8千/月 |
潍坊-临朐县 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
25555 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
0.7-1.4万/月 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
25556 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
1-1.5万/月 |
上海-浦东新区 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
25557 |
研发技术岗(应届生) |
三一重机有限公司 |
1.2-2.2万/月 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
25558 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
5.5-9千/月 |
成都-锦江区 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
25559 rows × 10 columns
查看数据类型
#数据类型
df.dtypes
#df.info()
岗位名称 object
公司名称 object
薪资 object
城市 object
福利 object
公司规模 object
所处行业 object
工作经验要求 object
学历要求 object
发布时间 object
dtype: object
检查所有列是否包含空值
#判断哪一列数据含有空值
df.isna().any()
#df.isnull().any()
岗位名称 False
公司名称 False
薪资 True
城市 False
福利 True
公司规模 True
所处行业 True
工作经验要求 False
学历要求 False
发布时间 False
dtype: bool
可以看出,在薪资、福利、公司规模、所处行业存在空值行,但是这其中有些列的值对数据分析而言无足轻重,所以我这里只对薪资,所处行业的空值进行删除处理。
a.空值预处理
#查看薪资列含有空值的行
df[df['薪资'].isna() == True]
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
281 |
大数据平台开发 |
施耐德电气(中国)有限公司 |
NaN |
北京 |
五险一金 补充医疗保险 免费班车 绩效奖金 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 11:00 |
406 |
电子与辅助驾驶-大数据开发工程师 |
采埃孚(广州)科技有限公司 |
NaN |
广州-花都区 |
五险一金 补充医疗保险 通讯补贴 出国机会 专业培训 绩效奖金 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
3-4年经验 |
本科 |
2022/5/24 9:15 |
513 |
智能信息事业群-大数据技术专家-北京 |
阿里巴巴集团 |
NaN |
北京 |
NaN |
10000人以上 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 7:02 |
675 |
总行信用卡中心-大数据开发岗 |
中国光大银行总行信用卡中心 |
NaN |
北京 |
NaN |
1000-5000人 |
国企 |
1年经验 |
硕士 |
2022/5/20 20:03 |
676 |
总行信息科技部-大数据开发工程师岗 |
中国光大银行总行信息科技部 |
NaN |
北京 |
NaN |
500-1000人 |
国企 |
2年经验 |
硕士 |
2022/5/20 20:03 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
24994 |
ABG-数据治理 |
埃森哲(中国)有限公司 |
NaN |
上海 |
五险一金 弹性工作 年终奖金 绩效奖金 定期体检 |
10000人以上 |
外资(欧美) |
8-9年经验 |
本科 |
2022/5/24 11:00 |
24995 |
Consulting - Utility - 咨询顾问 |
埃森哲(中国)有限公司 |
NaN |
广州 |
NaN |
10000人以上 |
外资(欧美) |
3-4年经验 |
本科 |
2022/5/24 11:00 |
24998 |
Technology-Design Thinking咨询专家 |
埃森哲信息技术(大连)有限公司 |
NaN |
北京 |
NaN |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 11:00 |
24999 |
Technology-Design Thinking(技术创新) |
埃森哲信息技术(大连)有限公司 |
NaN |
上海 |
NaN |
10000人以上 |
外资(欧美) |
8-9年经验 |
本科 |
2022/5/24 11:00 |
25000 |
Technology-Design Thinking(数字包容) |
埃森哲信息技术(大连)有限公司 |
NaN |
上海 |
NaN |
10000人以上 |
外资(欧美) |
8-9年经验 |
本科 |
2022/5/24 11:00 |
527 rows × 10 columns
#删除薪资中含有缺失值的行
df = df.dropna(axis=0,subset=["薪资"]) #可以看出原数据由25559行删减为25032行
df
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
1-1.8万/月 |
广州-天河区 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
0.8-1.4万/月 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
1.5-2.5万/月 |
上海-浦东新区 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
2-3万/月 |
广州-海珠区 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
2.5-4万/月 |
上海-长宁区 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
25554 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7-8千/月 |
潍坊-临朐县 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
25555 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
0.7-1.4万/月 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
25556 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
1-1.5万/月 |
上海-浦东新区 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
25557 |
研发技术岗(应届生) |
三一重机有限公司 |
1.2-2.2万/月 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
25558 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
5.5-9千/月 |
成都-锦江区 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
25032 rows × 10 columns
#删除所处行业中含有缺失值的行
df = df.dropna(axis=0,subset=["所处行业"]) #数据由25032行删减为25018行
df
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
1-1.8万/月 |
广州-天河区 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
0.8-1.4万/月 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
1.5-2.5万/月 |
上海-浦东新区 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
2-3万/月 |
广州-海珠区 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
2.5-4万/月 |
上海-长宁区 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
25554 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7-8千/月 |
潍坊-临朐县 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
25555 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
0.7-1.4万/月 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
25556 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
1-1.5万/月 |
上海-浦东新区 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
25557 |
研发技术岗(应届生) |
三一重机有限公司 |
1.2-2.2万/月 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
25558 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
5.5-9千/月 |
成都-锦江区 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
25018 rows × 10 columns
b.对薪资列数据进行预处理
由于薪资数据内含大量不规则数据,比如数据中存在 年、月薪资,单位的不同将会导致数据分析结果与实际偏差过大,这里我将年薪统一转换为月薪且单位为元,并将数据处理为浮点型数据
df['薪资']
0 1-1.8万/月
1 0.8-1.4万/月
2 1.5-2.5万/月
3 2-3万/月
4 2.5-4万/月
...
25554 7-8千/月
25555 0.7-1.4万/月
25556 1-1.5万/月
25557 1.2-2.2万/月
25558 5.5-9千/月
Name: 薪资, Length: 25018, dtype: object
#定义一个薪资处理函数
# x = '1.5-2.5万/月'
# x = '4-8千/月'
#x = '20-30万/年'
#先取均值
# if '-' in x:
# x.split('-')
# print(x.split('-'))
# else:
# print(x)
#薪资后缀格式有 :'万/月'、'万/年'、'千/月'
#将薪资范围值取均值处理
def Salary_processing(x):
if x.endswith("万/月"):
value = x.replace("万/月",'')
value = value.split('-')
value = eval(value[0]+'+'+value[1])*5000
return value
#print(value)
elif x.endswith("万/年"):
value = x.replace("万/年",'')
value = value.split('-')
value = eval(value[0]+'+'+value[1])*416.67
#print(value)
return value
elif x.endswith("千/月"):
value = x.replace("千/月",'')
value = value.split('-')
value = eval(value[0]+'+'+value[1])*500
#print(value)
return value
df['薪资'] = df['薪资'].map(Salary_processing)
df
C:\Users\13717\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
"""Entry point for launching an IPython kernel.
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
14000.0 |
广州-天河区 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
11000.0 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
20000.0 |
上海-浦东新区 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
25000.0 |
广州-海珠区 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
32500.0 |
上海-长宁区 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
25554 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7500.0 |
潍坊-临朐县 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
25555 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
10500.0 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
25556 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
12500.0 |
上海-浦东新区 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
25557 |
研发技术岗(应届生) |
三一重机有限公司 |
17000.0 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
25558 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
7250.0 |
成都-锦江区 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
25018 rows × 10 columns
c.对城市列数据进行处理
#定义一个处理城市列数据的函数
def city_processing(x):
if '-' in x:
value = x.split('-')
city = value[0]
return city
else:
return x
#删除少数几条只精确到省的数据(数据由25018删减为24925)
df = df[~df['城市'].str.contains('省')] # ~ 取反
df
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
14000.0 |
广州-天河区 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
11000.0 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
20000.0 |
上海-浦东新区 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
25000.0 |
广州-海珠区 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
32500.0 |
上海-长宁区 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
25554 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7500.0 |
潍坊-临朐县 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
25555 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
10500.0 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
25556 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
12500.0 |
上海-浦东新区 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
25557 |
研发技术岗(应届生) |
三一重机有限公司 |
17000.0 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
25558 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
7250.0 |
成都-锦江区 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
24925 rows × 10 columns
df['城市'] = df['城市'].map(city_processing)
df
C:\Users\13717\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
"""Entry point for launching an IPython kernel.
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
14000.0 |
广州 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
11000.0 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
20000.0 |
上海 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
25000.0 |
广州 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
32500.0 |
上海 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
25554 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7500.0 |
潍坊 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
25555 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
10500.0 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
25556 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
12500.0 |
上海 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
25557 |
研发技术岗(应届生) |
三一重机有限公司 |
17000.0 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
25558 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
7250.0 |
成都 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
24925 rows × 10 columns
#数据本地保存
df = df.dropna(axis=0,subset=["薪资"])
df.to_csv("new3.csv",index = False,encoding = 'gbk')
3、数据分析
#数据读取
import pandas as pd
new_df = pd.read_csv('new2.csv',encoding="gbk")
new_df.head()
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
14000.0 |
广州 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
11000.0 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
20000.0 |
上海 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
25000.0 |
广州 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
32500.0 |
上海 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
new_df.iloc[:,3]
0 广州
1 苏州
2 上海
3 广州
4 上海
..
24897 潍坊
24898 苏州
24899 上海
24900 昆山
24901 成都
Name: 城市, Length: 24902, dtype: object
城市数据
#获取所有城市名
city_name = new_df['城市'].unique()
city_num = new_df['城市'].nunique()
print("含有该岗位的城市有:{} \n共计{}个城市".format(city_name,city_num))
含有该岗位的城市有:['广州' '苏州' '上海' '北京' '青岛' '深圳' '合肥' '杭州' '武汉' '重庆' '成都' '昆明' '中山' '长沙'
'南京' '佛山' '嘉兴' '海口' '南昌' '福州' '常州' '昆山' '珠海' '哈尔滨' '厦门' '济南' '泉州' '郑州'
'天津' '贵阳' '无锡' '西安' '东莞' '台州' '温州' '潍坊' '石家庄' '太原' '宁德' '宁波' '大连' '桂林'
'泸州' '襄阳' '南宁' '常熟' '揭阳' '芜湖' '长春' '南通' '柳州' '徐州' '湘潭' '银川' '乌鲁木齐' '盐城'
'沈阳' '义乌' '兰州' '赣州' '曲靖' '保定' '舟山' '日照' '绵阳' '吉林' '呼和浩特' '黄石' '丽水' '大庆'
'莆田' '金华' '惠州' '宜昌' '湖州' '汕头' '阜阳' '红河州' '漳州' '江门' '荆州' '张家港' '海宁' '清远'
'德阳' '绍兴' '衢州' '扬州' '聊城' '上饶' '衡阳' '黔南' '泰安' '内江' '韶关' '滁州' '邯郸' '连云港'
'泰州' '淮安' '肇庆' '临沂' '威海' '茂名' '株洲' '烟台' '三亚' '陇南' '湛江' '宜春' '黄冈' '包头'
'信阳' '玉林' '渭南' '宜宾' '安顺' '洛阳' '荆门' '永州' '六盘水' '十堰' '宿迁' '商丘' '乐山' '安庆'
'孝感' '邢台' '张家口' '马鞍山' '西昌' '随州' '保山' '榆林' '淮南' '九江' '山南' '衡水' '达州' '新乡'
'河源' '遂宁' '南阳' '亳州' '大理' '广安' '龙岩' '鹤壁' '西宁' '延安' '拉萨' '日喀则' '梧州' '毕节'
'梅州' '宝鸡' '焦作' '平顶山' '广西' '唐山' '大同' '运城' '平凉' '酒泉' '嘉峪关' '伊春' '金昌' '淄博'
'咸阳' '牡丹江' '岳阳' '锡林郭勒盟' '开封' '太仓' '沧州' '德州' '长治' '云浮' '菏泽' '吉安' '鹰潭' '益阳'
'眉山' '濮阳' '许昌' '周口' '昭通' '宣城' '鄂州' '雅安' '凉山' '廊坊' '石河子' '黄山' '淮北' '文昌'
'宿州' '遵义' '蚌埠' '自贡' '南充' '楚雄' '仙桃' '鄂尔多斯' '滨州' '咸宁' '南平' '济宁' '新余' '秦皇岛'
'安阳' '钦州' '漯河' '辽阳' '武威' '博尔塔拉' '三明' '北海' '西藏' '新疆' '三门峡' '驻马店' '邓州' '济源'
'玉树' '果洛' '海南' '黄南' '海北' '海西' '海东' '内蒙古' '宁夏' '固原' '石嘴山' '吴忠' '阿拉善盟'
'兴安盟' '乌兰察布' '乌海' '呼伦贝尔' '通辽' '赤峰' '汉中' '铜川' '临夏' '甘南' '庆阳' '定西' '天水'
'白银' '张掖' '潮州' '阳江' '六安' '巴音郭楞' '铜陵' '齐齐哈尔' '阳泉' '晋城' '临汾' '吕梁' '忻州' '晋中'
'朔州' '黔东南' '承德' '丽江']
共计268个城市
每个城市对应的岗位数量
#每个城市对应的岗位数量
#city_name[0]
city_job_num={}
for i in range(city_num):
city_job = len(new_df[new_df['城市']==city_name[i]])
city_job_num[city_name[i]] = city_job
city_job_num
{'广州': 2881,
'苏州': 621,
'上海': 4324,
'北京': 2198,
'青岛': 175,
'深圳': 2222,
'合肥': 463,
'杭州': 944,
'武汉': 1468,
'重庆': 509,
'成都': 1400,
'昆明': 273,
'中山': 71,
'长沙': 406,
'南京': 894,
'佛山': 311,
'嘉兴': 135,
'海口': 76,
'南昌': 188,
'福州': 188,
'常州': 113,
'昆山': 81,
'珠海': 112,
'哈尔滨': 127,
'厦门': 129,
'济南': 152,
'泉州': 18,
'郑州': 297,
'天津': 214,
'贵阳': 92,
'无锡': 286,
'西安': 429,
'东莞': 209,
'台州': 25,
'温州': 66,
'潍坊': 24,
'石家庄': 109,
'太原': 61,
'宁德': 13,
'宁波': 299,
'大连': 165,
'桂林': 27,
'泸州': 12,
'襄阳': 13,
'南宁': 161,
'常熟': 23,
'揭阳': 27,
'芜湖': 80,
'长春': 117,
'南通': 33,
'柳州': 21,
'徐州': 36,
'湘潭': 6,
'银川': 25,
'乌鲁木齐': 38,
'盐城': 31,
'沈阳': 93,
'义乌': 10,
'兰州': 38,
'赣州': 24,
'曲靖': 3,
'保定': 33,
'舟山': 8,
'日照': 4,
'绵阳': 15,
'吉林': 4,
'呼和浩特': 35,
'黄石': 6,
'丽水': 8,
'大庆': 4,
'莆田': 12,
'金华': 24,
'惠州': 72,
'宜昌': 17,
'湖州': 22,
'汕头': 20,
'阜阳': 8,
'红河州': 8,
'漳州': 10,
'江门': 19,
'荆州': 7,
'张家港': 11,
'海宁': 7,
'清远': 20,
'德阳': 6,
'绍兴': 41,
'衢州': 10,
'扬州': 33,
'聊城': 1,
'上饶': 20,
'衡阳': 5,
'黔南': 9,
'泰安': 16,
'内江': 2,
'韶关': 11,
'滁州': 15,
'邯郸': 2,
'连云港': 9,
'泰州': 21,
'淮安': 8,
'肇庆': 40,
'临沂': 8,
'威海': 3,
'茂名': 7,
'株洲': 10,
'烟台': 15,
'三亚': 23,
'陇南': 3,
'湛江': 15,
'宜春': 3,
'黄冈': 3,
'包头': 5,
'信阳': 2,
'玉林': 1,
'渭南': 3,
'宜宾': 7,
'安顺': 2,
'洛阳': 13,
'荆门': 3,
'永州': 7,
'六盘水': 16,
'十堰': 4,
'宿迁': 26,
'商丘': 3,
'乐山': 9,
'安庆': 3,
'孝感': 6,
'邢台': 4,
'张家口': 5,
'马鞍山': 15,
'西昌': 1,
'随州': 12,
'保山': 1,
'榆林': 7,
'淮南': 4,
'九江': 14,
'山南': 1,
'衡水': 4,
'达州': 5,
'新乡': 4,
'河源': 6,
'遂宁': 2,
'南阳': 9,
'亳州': 2,
'大理': 14,
'广安': 5,
'龙岩': 4,
'鹤壁': 3,
'西宁': 16,
'延安': 2,
'拉萨': 5,
'日喀则': 1,
'梧州': 2,
'毕节': 1,
'梅州': 2,
'宝鸡': 2,
'焦作': 2,
'平顶山': 3,
'广西': 3,
'唐山': 14,
'大同': 8,
'运城': 6,
'平凉': 4,
'酒泉': 4,
'嘉峪关': 4,
'伊春': 1,
'金昌': 2,
'淄博': 7,
'咸阳': 15,
'牡丹江': 1,
'岳阳': 5,
'锡林郭勒盟': 1,
'开封': 4,
'太仓': 8,
'沧州': 3,
'德州': 6,
'长治': 9,
'云浮': 3,
'菏泽': 3,
'吉安': 3,
'鹰潭': 6,
'益阳': 1,
'眉山': 2,
'濮阳': 3,
'许昌': 16,
'周口': 2,
'昭通': 2,
'宣城': 1,
'鄂州': 1,
'雅安': 2,
'凉山': 3,
'廊坊': 13,
'石河子': 2,
'黄山': 1,
'淮北': 1,
'文昌': 5,
'宿州': 1,
'遵义': 2,
'蚌埠': 2,
'自贡': 2,
'南充': 14,
'楚雄': 1,
'仙桃': 1,
'鄂尔多斯': 2,
'滨州': 3,
'咸宁': 1,
'南平': 7,
'济宁': 2,
'新余': 1,
'秦皇岛': 9,
'安阳': 2,
'钦州': 1,
'漯河': 6,
'辽阳': 1,
'武威': 2,
'博尔塔拉': 1,
'三明': 2,
'北海': 3,
'西藏': 1,
'新疆': 2,
'三门峡': 1,
'驻马店': 1,
'邓州': 1,
'济源': 19,
'玉树': 1,
'果洛': 1,
'海南': 1,
'黄南': 1,
'海北': 1,
'海西': 1,
'海东': 1,
'内蒙古': 1,
'宁夏': 1,
'固原': 1,
'石嘴山': 1,
'吴忠': 1,
'阿拉善盟': 1,
'兴安盟': 1,
'乌兰察布': 2,
'乌海': 1,
'呼伦贝尔': 1,
'通辽': 1,
'赤峰': 1,
'汉中': 1,
'铜川': 1,
'临夏': 1,
'甘南': 1,
'庆阳': 1,
'定西': 1,
'天水': 1,
'白银': 1,
'张掖': 1,
'潮州': 7,
'阳江': 1,
'六安': 1,
'巴音郭楞': 1,
'铜陵': 1,
'齐齐哈尔': 1,
'阳泉': 3,
'晋城': 3,
'临汾': 5,
'吕梁': 3,
'忻州': 3,
'晋中': 4,
'朔州': 3,
'黔东南': 1,
'承德': 2,
'丽江': 1}
#根据值进行排序,得出岗位最多的城市
city_job_num_sort = sorted(city_job_num.items(), key=lambda x: x[1], reverse=True)
city_job_num_sort
[('上海', 4324),
('广州', 2881),
('深圳', 2222),
('北京', 2198),
('武汉', 1468),
('成都', 1400),
('杭州', 944),
('南京', 894),
('苏州', 621),
('重庆', 509),
('合肥', 463),
('西安', 429),
('长沙', 406),
('佛山', 311),
('宁波', 299),
('郑州', 297),
('无锡', 286),
('昆明', 273),
('天津', 214),
('东莞', 209),
('南昌', 188),
('福州', 188),
('青岛', 175),
('大连', 165),
('南宁', 161),
('济南', 152),
('嘉兴', 135),
('厦门', 129),
('哈尔滨', 127),
('长春', 117),
('常州', 113),
('珠海', 112),
('石家庄', 109),
('沈阳', 93),
('贵阳', 92),
('昆山', 81),
('芜湖', 80),
('海口', 76),
('惠州', 72),
('中山', 71),
('温州', 66),
('太原', 61),
('绍兴', 41),
('肇庆', 40),
('乌鲁木齐', 38),
('兰州', 38),
('徐州', 36),
('呼和浩特', 35),
('南通', 33),
('保定', 33),
('扬州', 33),
('盐城', 31),
('桂林', 27),
('揭阳', 27),
('宿迁', 26),
('台州', 25),
('银川', 25),
('潍坊', 24),
('赣州', 24),
('金华', 24),
('常熟', 23),
('三亚', 23),
('湖州', 22),
('柳州', 21),
('泰州', 21),
('汕头', 20),
('清远', 20),
('上饶', 20),
('江门', 19),
('济源', 19),
('泉州', 18),
('宜昌', 17),
('泰安', 16),
('六盘水', 16),
('西宁', 16),
('许昌', 16),
('绵阳', 15),
('滁州', 15),
('烟台', 15),
('湛江', 15),
('马鞍山', 15),
('咸阳', 15),
('九江', 14),
('大理', 14),
('唐山', 14),
('南充', 14),
('宁德', 13),
('襄阳', 13),
('洛阳', 13),
('廊坊', 13),
('泸州', 12),
('莆田', 12),
('随州', 12),
('张家港', 11),
('韶关', 11),
('义乌', 10),
('漳州', 10),
('衢州', 10),
('株洲', 10),
('黔南', 9),
('连云港', 9),
('乐山', 9),
('南阳', 9),
('长治', 9),
('秦皇岛', 9),
('舟山', 8),
('丽水', 8),
('阜阳', 8),
('红河州', 8),
('淮安', 8),
('临沂', 8),
('大同', 8),
('太仓', 8),
('荆州', 7),
('海宁', 7),
('茂名', 7),
('宜宾', 7),
('永州', 7),
('榆林', 7),
('淄博', 7),
('南平', 7),
('潮州', 7),
('湘潭', 6),
('黄石', 6),
('德阳', 6),
('孝感', 6),
('河源', 6),
('运城', 6),
('德州', 6),
('鹰潭', 6),
('漯河', 6),
('衡阳', 5),
('包头', 5),
('张家口', 5),
('达州', 5),
('广安', 5),
('拉萨', 5),
('岳阳', 5),
('文昌', 5),
('临汾', 5),
('日照', 4),
('吉林', 4),
('大庆', 4),
('十堰', 4),
('邢台', 4),
('淮南', 4),
('衡水', 4),
('新乡', 4),
('龙岩', 4),
('平凉', 4),
('酒泉', 4),
('嘉峪关', 4),
('开封', 4),
('晋中', 4),
('曲靖', 3),
('威海', 3),
('陇南', 3),
('宜春', 3),
('黄冈', 3),
('渭南', 3),
('荆门', 3),
('商丘', 3),
('安庆', 3),
('鹤壁', 3),
('平顶山', 3),
('广西', 3),
('沧州', 3),
('云浮', 3),
('菏泽', 3),
('吉安', 3),
('濮阳', 3),
('凉山', 3),
('滨州', 3),
('北海', 3),
('阳泉', 3),
('晋城', 3),
('吕梁', 3),
('忻州', 3),
('朔州', 3),
('内江', 2),
('邯郸', 2),
('信阳', 2),
('安顺', 2),
('遂宁', 2),
('亳州', 2),
('延安', 2),
('梧州', 2),
('梅州', 2),
('宝鸡', 2),
('焦作', 2),
('金昌', 2),
('眉山', 2),
('周口', 2),
('昭通', 2),
('雅安', 2),
('石河子', 2),
('遵义', 2),
('蚌埠', 2),
('自贡', 2),
('鄂尔多斯', 2),
('济宁', 2),
('安阳', 2),
('武威', 2),
('三明', 2),
('新疆', 2),
('乌兰察布', 2),
('承德', 2),
('聊城', 1),
('玉林', 1),
('西昌', 1),
('保山', 1),
('山南', 1),
('日喀则', 1),
('毕节', 1),
('伊春', 1),
('牡丹江', 1),
('锡林郭勒盟', 1),
('益阳', 1),
('宣城', 1),
('鄂州', 1),
('黄山', 1),
('淮北', 1),
('宿州', 1),
('楚雄', 1),
('仙桃', 1),
('咸宁', 1),
('新余', 1),
('钦州', 1),
('辽阳', 1),
('博尔塔拉', 1),
('西藏', 1),
('三门峡', 1),
('驻马店', 1),
('邓州', 1),
('玉树', 1),
('果洛', 1),
('海南', 1),
('黄南', 1),
('海北', 1),
('海西', 1),
('海东', 1),
('内蒙古', 1),
('宁夏', 1),
('固原', 1),
('石嘴山', 1),
('吴忠', 1),
('阿拉善盟', 1),
('兴安盟', 1),
('乌海', 1),
('呼伦贝尔', 1),
('通辽', 1),
('赤峰', 1),
('汉中', 1),
('铜川', 1),
('临夏', 1),
('甘南', 1),
('庆阳', 1),
('定西', 1),
('天水', 1),
('白银', 1),
('张掖', 1),
('阳江', 1),
('六安', 1),
('巴音郭楞', 1),
('铜陵', 1),
('齐齐哈尔', 1),
('黔东南', 1),
('丽江', 1)]
每个城市对应的平均薪资
city_mean_salary = {}
for i in range(city_num):
mean_salary = new_df[new_df['城市']==city_name[i]]['薪资'].sum() / len(new_df[new_df['城市']==city_name[i]])
city_mean_salary[city_name[i]] = int(mean_salary)
city_mean_salary #单位为(元/月)
{'广州': 15807,
'苏州': 16093,
'上海': 18583,
'北京': 19905,
'青岛': 11017,
'深圳': 19399,
'合肥': 14729,
'杭州': 19116,
'武汉': 13240,
'重庆': 15967,
'成都': 12947,
'昆明': 9658,
'中山': 14321,
'长沙': 13056,
'南京': 16341,
'佛山': 13359,
'嘉兴': 18188,
'海口': 10629,
'南昌': 11208,
'福州': 13587,
'常州': 15317,
'昆山': 15629,
'珠海': 15197,
'哈尔滨': 18436,
'厦门': 11921,
'济南': 15519,
'泉州': 18412,
'郑州': 10616,
'天津': 16878,
'贵阳': 9598,
'无锡': 15227,
'西安': 14992,
'东莞': 14867,
'台州': 10910,
'温州': 10508,
'潍坊': 13881,
'石家庄': 9657,
'太原': 9975,
'宁德': 21705,
'宁波': 13200,
'大连': 16106,
'桂林': 8903,
'泸州': 13847,
'襄阳': 8461,
'南宁': 12010,
'常熟': 17532,
'揭阳': 11626,
'芜湖': 13305,
'长春': 19390,
'南通': 12272,
'柳州': 12388,
'徐州': 12231,
'湘潭': 9750,
'银川': 9280,
'乌鲁木齐': 11684,
'盐城': 9040,
'沈阳': 10666,
'义乌': 18783,
'兰州': 10410,
'赣州': 12041,
'曲靖': 10166,
'保定': 11060,
'舟山': 11062,
'日照': 18000,
'绵阳': 9000,
'吉林': 8500,
'呼和浩特': 10040,
'黄石': 10166,
'丽水': 9687,
'大庆': 13437,
'莆田': 11875,
'金华': 14010,
'惠州': 11653,
'宜昌': 7691,
'湖州': 13227,
'汕头': 9975,
'阜阳': 14375,
'红河州': 9677,
'漳州': 8350,
'江门': 9337,
'荆州': 9452,
'张家港': 20568,
'海宁': 13714,
'清远': 9462,
'德阳': 9166,
'绍兴': 11306,
'衢州': 11333,
'扬州': 10767,
'聊城': 9000,
'上饶': 7250,
'衡阳': 7200,
'黔南': 8000,
'泰安': 9625,
'内江': 10500,
'韶关': 7545,
'滁州': 10266,
'邯郸': 13250,
'连云港': 16166,
'泰州': 9484,
'淮安': 7906,
'肇庆': 9446,
'临沂': 10500,
'威海': 9833,
'茂名': 22500,
'株洲': 10000,
'烟台': 9850,
'三亚': 20119,
'陇南': 12500,
'湛江': 22800,
'宜春': 7583,
'黄冈': 9166,
'包头': 15600,
'信阳': 11000,
'玉林': 7000,
'渭南': 16055,
'宜宾': 9500,
'安顺': 7500,
'洛阳': 9000,
'荆门': 9833,
'永州': 8378,
'六盘水': 10406,
'十堰': 7041,
'宿迁': 8871,
'商丘': 14583,
'乐山': 12064,
'安庆': 8500,
'孝感': 9041,
'邢台': 7750,
'张家口': 9100,
'马鞍山': 12161,
'西昌': 4500,
'随州': 6833,
'保山': 4000,
'榆林': 9928,
'淮南': 7875,
'九江': 5579,
'山南': 11000,
'衡水': 8125,
'达州': 6300,
'新乡': 10125,
'河源': 9416,
'遂宁': 8250,
'南阳': 8722,
'亳州': 4625,
'大理': 10404,
'广安': 10200,
'龙岩': 12250,
'鹤壁': 13166,
'西宁': 12750,
'延安': 9500,
'拉萨': 13866,
'日喀则': 11000,
'梧州': 8500,
'毕节': 8500,
'梅州': 11000,
'宝鸡': 6750,
'焦作': 11000,
'平顶山': 10416,
'广西': 7833,
'唐山': 9500,
'大同': 13750,
'运城': 9583,
'平凉': 9000,
'酒泉': 8625,
'嘉峪关': 9000,
'伊春': 9000,
'金昌': 9000,
'淄博': 8928,
'咸阳': 6073,
'牡丹江': 4500,
'岳阳': 7440,
'锡林郭勒盟': 11500,
'开封': 8687,
'太仓': 9968,
'沧州': 8333,
'德州': 30000,
'长治': 18666,
'云浮': 6833,
'菏泽': 17500,
'吉安': 12500,
'鹰潭': 12416,
'益阳': 9000,
'眉山': 6500,
'濮阳': 9416,
'许昌': 12218,
'周口': 11000,
'昭通': 14000,
'宣城': 6000,
'鄂州': 7000,
'雅安': 9000,
'凉山': 8833,
'廊坊': 10506,
'石河子': 9500,
'黄山': 7500,
'淮北': 7500,
'文昌': 6400,
'宿州': 12000,
'遵义': 9750,
'蚌埠': 10500,
'自贡': 9000,
'南充': 6500,
'楚雄': 3750,
'仙桃': 11500,
'鄂尔多斯': 8250,
'滨州': 5000,
'咸宁': 9000,
'南平': 8714,
'济宁': 18000,
'新余': 10000,
'秦皇岛': 9055,
'安阳': 9500,
'钦州': 7000,
'漯河': 6250,
'辽阳': 12500,
'武威': 8250,
'博尔塔拉': 9500,
'三明': 9000,
'北海': 7833,
'西藏': 12500,
'新疆': 8000,
'三门峡': 15000,
'驻马店': 15000,
'邓州': 15000,
'济源': 5763,
'玉树': 9000,
'果洛': 9000,
'海南': 9000,
'黄南': 9000,
'海北': 9000,
'海西': 9000,
'海东': 9000,
'内蒙古': 9000,
'宁夏': 9000,
'固原': 9000,
'石嘴山': 9000,
'吴忠': 9000,
'阿拉善盟': 9000,
'兴安盟': 9000,
'乌兰察布': 5437,
'乌海': 9000,
'呼伦贝尔': 9000,
'通辽': 9000,
'赤峰': 9000,
'汉中': 9000,
'铜川': 9000,
'临夏': 9000,
'甘南': 9000,
'庆阳': 9000,
'定西': 9000,
'天水': 9000,
'白银': 9000,
'张掖': 9000,
'潮州': 7500,
'阳江': 7500,
'六安': 5250,
'巴音郭楞': 7500,
'铜陵': 7000,
'齐齐哈尔': 7000,
'阳泉': 9000,
'晋城': 9000,
'临汾': 9000,
'吕梁': 9000,
'忻州': 9000,
'晋中': 9000,
'朔州': 9000,
'黔东南': 4500,
'承德': 9000,
'丽江': 9000}
#根据薪资排序,获取薪资最高的城市
city_mean_salary_sort = sorted(city_mean_salary.items(), key=lambda x: x[1], reverse=True)
city_mean_salary_sort
[('德州', 30000),
('湛江', 22800),
('茂名', 22500),
('宁德', 21705),
('张家港', 20568),
('三亚', 20119),
('北京', 19905),
('深圳', 19399),
('长春', 19390),
('杭州', 19116),
('义乌', 18783),
('长治', 18666),
('上海', 18583),
('哈尔滨', 18436),
('泉州', 18412),
('嘉兴', 18188),
('日照', 18000),
('济宁', 18000),
('常熟', 17532),
('菏泽', 17500),
('天津', 16878),
('南京', 16341),
('连云港', 16166),
('大连', 16106),
('苏州', 16093),
('渭南', 16055),
('重庆', 15967),
('广州', 15807),
('昆山', 15629),
('包头', 15600),
('济南', 15519),
('常州', 15317),
('无锡', 15227),
('珠海', 15197),
('三门峡', 15000),
('驻马店', 15000),
('邓州', 15000),
('西安', 14992),
('东莞', 14867),
('合肥', 14729),
('商丘', 14583),
('阜阳', 14375),
('中山', 14321),
('金华', 14010),
('昭通', 14000),
('潍坊', 13881),
('拉萨', 13866),
('泸州', 13847),
('大同', 13750),
('海宁', 13714),
('福州', 13587),
('大庆', 13437),
('佛山', 13359),
('芜湖', 13305),
('邯郸', 13250),
('武汉', 13240),
('湖州', 13227),
('宁波', 13200),
('鹤壁', 13166),
('长沙', 13056),
('成都', 12947),
('西宁', 12750),
('陇南', 12500),
('吉安', 12500),
('辽阳', 12500),
('西藏', 12500),
('鹰潭', 12416),
('柳州', 12388),
('南通', 12272),
('龙岩', 12250),
('徐州', 12231),
('许昌', 12218),
('马鞍山', 12161),
('乐山', 12064),
('赣州', 12041),
('南宁', 12010),
('宿州', 12000),
('厦门', 11921),
('莆田', 11875),
('乌鲁木齐', 11684),
('惠州', 11653),
('揭阳', 11626),
('锡林郭勒盟', 11500),
('仙桃', 11500),
('衢州', 11333),
('绍兴', 11306),
('南昌', 11208),
('舟山', 11062),
('保定', 11060),
('青岛', 11017),
('信阳', 11000),
('山南', 11000),
('日喀则', 11000),
('梅州', 11000),
('焦作', 11000),
('周口', 11000),
('台州', 10910),
('扬州', 10767),
('沈阳', 10666),
('海口', 10629),
('郑州', 10616),
('温州', 10508),
('廊坊', 10506),
('内江', 10500),
('临沂', 10500),
('蚌埠', 10500),
('平顶山', 10416),
('兰州', 10410),
('六盘水', 10406),
('大理', 10404),
('滁州', 10266),
('广安', 10200),
('曲靖', 10166),
('黄石', 10166),
('新乡', 10125),
('呼和浩特', 10040),
('株洲', 10000),
('新余', 10000),
('太原', 9975),
('汕头', 9975),
('太仓', 9968),
('榆林', 9928),
('烟台', 9850),
('威海', 9833),
('荆门', 9833),
('湘潭', 9750),
('遵义', 9750),
('丽水', 9687),
('红河州', 9677),
('昆明', 9658),
('石家庄', 9657),
('泰安', 9625),
('贵阳', 9598),
('运城', 9583),
('宜宾', 9500),
('延安', 9500),
('唐山', 9500),
('石河子', 9500),
('安阳', 9500),
('博尔塔拉', 9500),
('泰州', 9484),
('清远', 9462),
('荆州', 9452),
('肇庆', 9446),
('河源', 9416),
('濮阳', 9416),
('江门', 9337),
('银川', 9280),
('德阳', 9166),
('黄冈', 9166),
('张家口', 9100),
('秦皇岛', 9055),
('孝感', 9041),
('盐城', 9040),
('绵阳', 9000),
('聊城', 9000),
('洛阳', 9000),
('平凉', 9000),
('嘉峪关', 9000),
('伊春', 9000),
('金昌', 9000),
('益阳', 9000),
('雅安', 9000),
('自贡', 9000),
('咸宁', 9000),
('三明', 9000),
('玉树', 9000),
('果洛', 9000),
('海南', 9000),
('黄南', 9000),
('海北', 9000),
('海西', 9000),
('海东', 9000),
('内蒙古', 9000),
('宁夏', 9000),
('固原', 9000),
('石嘴山', 9000),
('吴忠', 9000),
('阿拉善盟', 9000),
('兴安盟', 9000),
('乌海', 9000),
('呼伦贝尔', 9000),
('通辽', 9000),
('赤峰', 9000),
('汉中', 9000),
('铜川', 9000),
('临夏', 9000),
('甘南', 9000),
('庆阳', 9000),
('定西', 9000),
('天水', 9000),
('白银', 9000),
('张掖', 9000),
('阳泉', 9000),
('晋城', 9000),
('临汾', 9000),
('吕梁', 9000),
('忻州', 9000),
('晋中', 9000),
('朔州', 9000),
('承德', 9000),
('丽江', 9000),
('淄博', 8928),
('桂林', 8903),
('宿迁', 8871),
('凉山', 8833),
('南阳', 8722),
('南平', 8714),
('开封', 8687),
('酒泉', 8625),
('吉林', 8500),
('安庆', 8500),
('梧州', 8500),
('毕节', 8500),
('襄阳', 8461),
('永州', 8378),
('漳州', 8350),
('沧州', 8333),
('遂宁', 8250),
('鄂尔多斯', 8250),
('武威', 8250),
('衡水', 8125),
('黔南', 8000),
('新疆', 8000),
('淮安', 7906),
('淮南', 7875),
('广西', 7833),
('北海', 7833),
('邢台', 7750),
('宜昌', 7691),
('宜春', 7583),
('韶关', 7545),
('安顺', 7500),
('黄山', 7500),
('淮北', 7500),
('潮州', 7500),
('阳江', 7500),
('巴音郭楞', 7500),
('岳阳', 7440),
('上饶', 7250),
('衡阳', 7200),
('十堰', 7041),
('玉林', 7000),
('鄂州', 7000),
('钦州', 7000),
('铜陵', 7000),
('齐齐哈尔', 7000),
('随州', 6833),
('云浮', 6833),
('宝鸡', 6750),
('眉山', 6500),
('南充', 6500),
('文昌', 6400),
('达州', 6300),
('漯河', 6250),
('咸阳', 6073),
('宣城', 6000),
('济源', 5763),
('九江', 5579),
('乌兰察布', 5437),
('六安', 5250),
('滨州', 5000),
('亳州', 4625),
('西昌', 4500),
('牡丹江', 4500),
('黔东南', 4500),
('保山', 4000),
('楚雄', 3750)]
大数据专业对每个学历阶段的招聘需求
#获取每个学历要求对应的岗位数
education = new_df['学历要求'].unique()
education
array(['本科', '大专', '硕士', '高中', '博士', '中技/中专', '初中及以下'], dtype=object)
education_post = {}
for i in range(len(education)):
post = len(new_df[new_df['学历要求']==education[i]])
education_post[education[i]] = post
education_post_sort = sorted(education_post.items(), key=lambda x: x[1], reverse=True)
education_post_sort
[('本科', 15187),
('大专', 6455),
('硕士', 1490),
('博士', 849),
('高中', 635),
('中技/中专', 277),
('初中及以下', 9)]
每个学历阶段对应的平均薪资
edu_avg_sal={}
education = new_df['学历要求'].unique()
for i in range(len(education)):
avg_sal = new_df[new_df['学历要求']==education[i]]['薪资'].sum()/ len(new_df[new_df['学历要求']==education[i]])
edu_avg_sal[education[i]] = int(avg_sal)
edu_avg_sal
{'本科': 16760,
'大专': 12371,
'硕士': 19004,
'高中': 9105,
'博士': 31765,
'中技/中专': 8747,
'初中及以下': 8722}
#按薪资排序
edu_avg_sal_sort = sorted(edu_avg_sal.items(), key=lambda x: x[1], reverse=True)
edu_avg_sal_sort
[('博士', 31765),
('硕士', 19004),
('本科', 16760),
('大专', 12371),
('高中', 9105),
('中技/中专', 8747),
('初中及以下', 8722)]
每个学历阶段对工作经验要求的岗位数量
#获取学历
education = new_df['学历要求'].unique()
education
array(['本科', '大专', '硕士', '高中', '博士', '中技/中专', '初中及以下'], dtype=object)
#获取工作经验要求
work_exp = new_df[new_df['学历要求'] == education[0]]['工作经验要求'].unique()
work_exp
array(['3-4年经验', '无需经验', '5-7年经验', '2年经验', '1年经验', '10年以上经验', '8-9年经验',
'在校生/应届生'], dtype=object)
#同等学力下,对应的按工作经验划分的岗位数量
work_exp_num = len(new_df[new_df['学历要求'] == education[0]][new_df[new_df['学历要求'] == education[0]]['工作经验要求'] == work_exp[0]])
work_exp_num
4398
#数据格式 {'学历':{'工作经验':'岗位数量'}...}
edu_exp_num = {}
for i in range(len(education)):
work_exp = new_df[new_df['学历要求'] == education[i]]['工作经验要求'].unique()
exp_num = {}
for j in range(len(work_exp)):
#同等学力下,对应的按工作经验划分的岗位数量
work_exp_num = len(new_df[new_df['学历要求'] == education[i]][new_df[new_df['学历要求'] == education[i]]['工作经验要求'] == work_exp[j]])
exp_num[work_exp[j]] = work_exp_num
edu_exp_num[education[i]] = exp_num
edu_exp_num
{'本科': {'3-4年经验': 4398,
'无需经验': 2181,
'5-7年经验': 2693,
'2年经验': 1862,
'1年经验': 1283,
'10年以上经验': 268,
'8-9年经验': 378,
'在校生/应届生': 2124},
'大专': {'3-4年经验': 1558,
'5-7年经验': 648,
'2年经验': 971,
'无需经验': 1445,
'1年经验': 1241,
'8-9年经验': 49,
'10年以上经验': 24,
'在校生/应届生': 519},
'硕士': {'1年经验': 134,
'3-4年经验': 201,
'2年经验': 129,
'无需经验': 123,
'5-7年经验': 111,
'8-9年经验': 17,
'10年以上经验': 29,
'在校生/应届生': 746},
'高中': {'无需经验': 501,
'3-4年经验': 27,
'1年经验': 56,
'2年经验': 22,
'5-7年经验': 3,
'在校生/应届生': 26},
'博士': {'无需经验': 90,
'3-4年经验': 26,
'1年经验': 20,
'5-7年经验': 29,
'2年经验': 15,
'10年以上经验': 12,
'8-9年经验': 2,
'在校生/应届生': 655},
'中技/中专': {'无需经验': 139,
'1年经验': 53,
'2年经验': 41,
'3-4年经验': 10,
'5-7年经验': 9,
'在校生/应届生': 25},
'初中及以下': {'无需经验': 7, '1年经验': 2}}
不同类型的公司平均薪资
company_type = new_df['所处行业'].unique()
company_type
array(['上市公司', '外资(非欧美)', '合资', '外资(欧美)', '民营公司', '国企', '非营利组织', '事业单位',
'创业公司', '政府机关'], dtype=object)
company_type_avg_sal = {}
for i in range(len(company_type)):
avg_sal = new_df[new_df['所处行业']==company_type[i]]['薪资'].sum()/ len(new_df[new_df['所处行业']==company_type[i]])
company_type_avg_sal[company_type[i]] = int(avg_sal)
company_type_avg_sal
{'上市公司': 15546,
'外资(非欧美)': 16522,
'合资': 14892,
'外资(欧美)': 19281,
'民营公司': 15285,
'国企': 16526,
'非营利组织': 13786,
'事业单位': 23026,
'创业公司': 12914,
'政府机关': 18500}
company_type_avg_sal_sort = sorted(company_type_avg_sal.items(), key=lambda x: x[1], reverse=True)
company_type_avg_sal_sort
[('事业单位', 23026),
('外资(欧美)', 19281),
('政府机关', 18500),
('国企', 16526),
('外资(非欧美)', 16522),
('上市公司', 15546),
('民营公司', 15285),
('合资', 14892),
('非营利组织', 13786),
('创业公司', 12914)]
不同月份新发布的岗位数量
#定义一个获取月份的函数
def data_processing(x):
y = x.split('\n')[0].split('/')[1]
return y
new_df['发布月份'] = new_df['发布时间'].map(data_processing)
new_df
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
发布月份 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
14000.0 |
广州 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
5 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
11000.0 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
5 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
20000.0 |
上海 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
5 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
25000.0 |
广州 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
5 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
32500.0 |
上海 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
5 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
24897 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7500.0 |
潍坊 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
5 |
24898 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
10500.0 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
5 |
24899 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
12500.0 |
上海 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
5 |
24900 |
研发技术岗(应届生) |
三一重机有限公司 |
17000.0 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
5 |
24901 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
7250.0 |
成都 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
5 |
24902 rows × 11 columns
issue_month = new_df['发布月份'].unique()
issue_month
array(['5', '4', '3'], dtype=object)
issue_month_job ={}
for i in issue_month:
job_num = len(new_df[new_df['发布月份'] == i])
issue_month_job[i] = job_num
issue_month_job
{'5': 19915, '4': 3889, '3': 1098}
4、数据可视化
import pyecharts.options as opts
from pyecharts.charts import Line
城市岗位数量排行
x =[]#城市
y =[]#岗位数量
for i,j in city_job_num_sort:
x.append(i)
y.append(j)
line=(
Line()
.add_xaxis(xaxis_data=x[0:10] )
.add_yaxis(series_name="岗位数量",y_axis=y[0:10], is_smooth=True)
.set_global_opts(title_opts=opts.TitleOpts(title="城市岗位数量排行"))
)
line.render_notebook()
<div id="c6715a6f911042dab0fc9dc09278025b" style="width:900px; height:500px;"></div>
# # 需要引用的库
from pyecharts import options as opts
from pyecharts.charts import Map
# def create_china_map():
# '''
# 作用:生成中国地图
# '''
# (
# Map()
# .add(
# series_name="岗位数量",
# data_pair=city_job_num_sort,
# maptype="china",
# # 是否默认选中,默认为True
# is_selected=True,
# # 是否启用鼠标滚轮缩放和拖动平移,默认为True
# is_roam=True,
# # 是否显示图形标记,默认为True
# is_map_symbol_show=False,
# # 图元样式配置
# itemstyle_opts={
# # 常规显示
# "normal": {"areaColor": "white", "borderColor": "red"},
# # 强调颜色
# "emphasis": {"areaColor": "rgba(0,0,0,1)"}
# }
# )
# # 全局配置项
# .set_global_opts(
# # 设置标题
# title_opts=opts.TitleOpts(title="中国地图"),
# # 设置标准显示
# visualmap_opts=opts.VisualMapOpts(max_=5000, is_piecewise=True)
# )
# # 系列配置项
# .set_series_opts(
# # 标签名称显示,默认为True
# label_opts=opts.LabelOpts(is_show=True, color="blue")
# )
# # 生成本地html文件
# .render("中国地图.html")
# )
# create_china_map()
# from pyecharts import options as opts
# from pyecharts.charts import Map
# from pyecharts.faker import Faker
# import os
# # 基础数据
# # 省和直辖市
# provice = list(province_distribution.keys())
# values = list(province_distribution.values())
# c = (
# Map()
# .add("",city_job_num_sort, "china")
# .set_global_opts(title_opts=opts.TitleOpts(title="中国地图"))
# .render()
# )
# # 打开html
# os.system("render.html")
# from pyecharts.charts import Geo
# from pyecharts.globals import ChartType, SymbolType
# from pyecharts import options as opts #引入配置项入口
# geo = (
# Geo()
# .add_schema(maptype="china")
# .add("",city_job_num_sort
# )
# .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
# .set_global_opts(
# visualmap_opts=opts.VisualMapOpts(),
# title_opts=opts.TitleOpts(title="Geo地图示例"),
# )
# )
# geo.render("测试.html")
# geo.render_notebook()
city_job_num_sort
[('上海', 4324),
('广州', 2881),
('深圳', 2222),
('北京', 2198),
('武汉', 1468),
('成都', 1400),
('杭州', 944),
('南京', 894),
('苏州', 621),
('重庆', 509),
('合肥', 463),
('西安', 429),
('长沙', 406),
('佛山', 311),
('宁波', 299),
('郑州', 297),
('无锡', 286),
('昆明', 273),
('天津', 214),
('东莞', 209),
('南昌', 188),
('福州', 188),
('青岛', 175),
('大连', 165),
('南宁', 161),
('济南', 152),
('嘉兴', 135),
('厦门', 129),
('哈尔滨', 127),
('长春', 117),
('常州', 113),
('珠海', 112),
('石家庄', 109),
('沈阳', 93),
('贵阳', 92),
('昆山', 81),
('芜湖', 80),
('海口', 76),
('惠州', 72),
('中山', 71),
('温州', 66),
('太原', 61),
('绍兴', 41),
('肇庆', 40),
('乌鲁木齐', 38),
('兰州', 38),
('徐州', 36),
('呼和浩特', 35),
('南通', 33),
('保定', 33),
('扬州', 33),
('盐城', 31),
('桂林', 27),
('揭阳', 27),
('宿迁', 26),
('台州', 25),
('银川', 25),
('潍坊', 24),
('赣州', 24),
('金华', 24),
('常熟', 23),
('三亚', 23),
('湖州', 22),
('柳州', 21),
('泰州', 21),
('汕头', 20),
('清远', 20),
('上饶', 20),
('江门', 19),
('济源', 19),
('泉州', 18),
('宜昌', 17),
('泰安', 16),
('六盘水', 16),
('西宁', 16),
('许昌', 16),
('绵阳', 15),
('滁州', 15),
('烟台', 15),
('湛江', 15),
('马鞍山', 15),
('咸阳', 15),
('九江', 14),
('大理', 14),
('唐山', 14),
('南充', 14),
('宁德', 13),
('襄阳', 13),
('洛阳', 13),
('廊坊', 13),
('泸州', 12),
('莆田', 12),
('随州', 12),
('张家港', 11),
('韶关', 11),
('义乌', 10),
('漳州', 10),
('衢州', 10),
('株洲', 10),
('黔南', 9),
('连云港', 9),
('乐山', 9),
('南阳', 9),
('长治', 9),
('秦皇岛', 9),
('舟山', 8),
('丽水', 8),
('阜阳', 8),
('红河州', 8),
('淮安', 8),
('临沂', 8),
('大同', 8),
('太仓', 8),
('荆州', 7),
('海宁', 7),
('茂名', 7),
('宜宾', 7),
('永州', 7),
('榆林', 7),
('淄博', 7),
('南平', 7),
('潮州', 7),
('湘潭', 6),
('黄石', 6),
('德阳', 6),
('孝感', 6),
('河源', 6),
('运城', 6),
('德州', 6),
('鹰潭', 6),
('漯河', 6),
('衡阳', 5),
('包头', 5),
('张家口', 5),
('达州', 5),
('广安', 5),
('拉萨', 5),
('岳阳', 5),
('文昌', 5),
('临汾', 5),
('日照', 4),
('吉林', 4),
('大庆', 4),
('十堰', 4),
('邢台', 4),
('淮南', 4),
('衡水', 4),
('新乡', 4),
('龙岩', 4),
('平凉', 4),
('酒泉', 4),
('嘉峪关', 4),
('开封', 4),
('晋中', 4),
('曲靖', 3),
('威海', 3),
('陇南', 3),
('宜春', 3),
('黄冈', 3),
('渭南', 3),
('荆门', 3),
('商丘', 3),
('安庆', 3),
('鹤壁', 3),
('平顶山', 3),
('广西', 3),
('沧州', 3),
('云浮', 3),
('菏泽', 3),
('吉安', 3),
('濮阳', 3),
('凉山', 3),
('滨州', 3),
('北海', 3),
('阳泉', 3),
('晋城', 3),
('吕梁', 3),
('忻州', 3),
('朔州', 3),
('内江', 2),
('邯郸', 2),
('信阳', 2),
('安顺', 2),
('遂宁', 2),
('亳州', 2),
('延安', 2),
('梧州', 2),
('梅州', 2),
('宝鸡', 2),
('焦作', 2),
('金昌', 2),
('眉山', 2),
('周口', 2),
('昭通', 2),
('雅安', 2),
('石河子', 2),
('遵义', 2),
('蚌埠', 2),
('自贡', 2),
('鄂尔多斯', 2),
('济宁', 2),
('安阳', 2),
('武威', 2),
('三明', 2),
('新疆', 2),
('乌兰察布', 2),
('承德', 2),
('聊城', 1),
('玉林', 1),
('西昌', 1),
('保山', 1),
('山南', 1),
('日喀则', 1),
('毕节', 1),
('伊春', 1),
('牡丹江', 1),
('锡林郭勒盟', 1),
('益阳', 1),
('宣城', 1),
('鄂州', 1),
('黄山', 1),
('淮北', 1),
('宿州', 1),
('楚雄', 1),
('仙桃', 1),
('咸宁', 1),
('新余', 1),
('钦州', 1),
('辽阳', 1),
('博尔塔拉', 1),
('西藏', 1),
('三门峡', 1),
('驻马店', 1),
('邓州', 1),
('玉树', 1),
('果洛', 1),
('海南', 1),
('黄南', 1),
('海北', 1),
('海西', 1),
('海东', 1),
('内蒙古', 1),
('宁夏', 1),
('固原', 1),
('石嘴山', 1),
('吴忠', 1),
('阿拉善盟', 1),
('兴安盟', 1),
('乌海', 1),
('呼伦贝尔', 1),
('通辽', 1),
('赤峰', 1),
('汉中', 1),
('铜川', 1),
('临夏', 1),
('甘南', 1),
('庆阳', 1),
('定西', 1),
('天水', 1),
('白银', 1),
('张掖', 1),
('阳江', 1),
('六安', 1),
('巴音郭楞', 1),
('铜陵', 1),
('齐齐哈尔', 1),
('黔东南', 1),
('丽江', 1)]
城市平均薪资排行
x =[]#城市
y =[]#平均薪资
for i,j in city_mean_salary_sort:
x.append(i)
y.append(j)
line=(
Line()
.add_xaxis(xaxis_data=x[0:10] )
.add_yaxis(series_name="平均薪资",y_axis=y[0:10], is_smooth=True)
.set_global_opts(title_opts=opts.TitleOpts(title="城市平均薪资排行"))
)
line.render_notebook()
<div id="4c31936a1dcd4428a9e6af3f9e6e326f" style="width:900px; height:500px;"></div>
大数据专业对每个学历阶段的招聘数量
x =[]#学历
y =[]#岗位数量
for i,j in education_post_sort:
x.append(i)
y.append(j)
line=(
Line()
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name="岗位数量",y_axis=y, is_smooth=True)
.set_global_opts(title_opts=opts.TitleOpts(title="大数据专业对每个学历阶段的招聘数量"))
)
line.render_notebook()
<div id="a3acf2796cd14b69875705856be0c131" style="width:900px; height:500px;"></div>
每个学历阶段对应的平均薪资
x =[]#学历
y =[]#平均薪资
for i,j in edu_avg_sal_sort:
x.append(i)
y.append(j)
line=(
Line()
.add_xaxis(xaxis_data=x[0:10] )
.add_yaxis(series_name="平均薪资",y_axis=y[0:10], is_smooth=True)
.set_global_opts(title_opts=opts.TitleOpts(title="每个学历阶段对应的平均薪资"))
)
line.render_notebook()
<div id="2ffcc259d3a84d8ca978dab7d6bd5294" style="width:900px; height:500px;"></div>
每个学历阶段对工作经验要求的岗位数量
x =[]#学历
y =[]#经验
for i in edu_exp_num:
x.append(i)
benk = list(zip(edu_exp_num[x[0]].keys(),edu_exp_num[x[0]].values()))
zhuank = list(zip(edu_exp_num[x[1]].keys(),edu_exp_num[x[1]].values()))
shuoshi = list(zip(edu_exp_num[x[2]].keys(),edu_exp_num[x[2]].values()))
gaozhong = list(zip(edu_exp_num[x[3]].keys(),edu_exp_num[x[3]].values()))
boshi =list(zip(edu_exp_num[x[4]].keys(),edu_exp_num[x[4]].values()))
zhongzhuan = list(zip(edu_exp_num[x[5]].keys(),edu_exp_num[x[5]].values()))
chuzhong = list(zip(edu_exp_num[x[6]].keys(),edu_exp_num[x[6]].values()))
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.charts import Page,Pie
rosetype=Pie()
rosetype.add(x[0],benk,
radius=["10%", "22%"],center=["15%", "30%"],rosetype="area")
rosetype.add(x[1],zhuank,
radius=["10%", "22%"],center=["50%", "30%"],rosetype="area")
rosetype.add(x[2],shuoshi,
radius=["10%", "22%"],center=["85%", "30%"],rosetype="area")
rosetype.add(x[3],gaozhong,
radius=["10%", "22%"],center=["35%", "70%"],rosetype="area")
rosetype.add(x[4],boshi,
radius=["10%", "22%"],center=["70%", "70%"],rosetype="area")
rosetype.set_global_opts(legend_opts=opts.LegendOpts(legend_icon='circle',pos_right='0%'))
rosetype.set_global_opts(title_opts=opts.TitleOpts(title="学历-工作经验-岗位数量",pos_top=20))
#对图表进行渲染输出
rosetype.render_notebook()
<div id="d3e12ccced2240a69def7fdf23651a93" style="width:900px; height:500px;"></div>
不同类型的公司平均薪资
from pyecharts.charts import Bar
x =[]#公司类型
y =[]#平均薪资
for i,j in company_type_avg_sal_sort:
x.append(i)
y.append(j)
bar=(
Bar()
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name="平均薪资",y_axis=y)
.set_global_opts(title_opts=opts.TitleOpts(title="不同类型的公司平均薪资"),
xaxis_opts=opts.AxisOpts(name_rotate=60,axislabel_opts={"rotate":45})
)
)
bar.render_notebook()
<div id="93d3b5507b3c41ecab3070128744bc9f" style="width:900px; height:500px;"></div>
词云展示大数据相关岗位的福利热词
#查看福利这列数据
new_df['福利'].values
array(['五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检',
'五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检',
'五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检', ...,
'五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利',
'五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资', nan], dtype=object)
#将福利列所有数据存储到word
word =[]
for i in range(len(new_df)):
q = new_df['福利'].values[i]
if (q!=' ') and (q!=None) and (type(q)!=float) :
s = new_df['福利'].values[i].split(' ')
for j in s:
word.append(j)
word
['五险一金',
'免费班车',
'员工旅游',
'交通补贴',
'年终奖金',
'绩效奖金',
'定期体检',
'五险一金',
'免费班车',
'员工旅游',
'年终奖金',
'餐饮补贴',
'定期体检',
'五险一金',
'补充医疗保险',
'专业培训',
'绩效奖金',
'年终奖金',
'弹性工作',
'定期体检',
'五险一金',
'补充医疗保险',
'餐饮补贴',
'通讯补贴',
'专业培训',
'绩效奖金',
'年终奖金',
'弹性工作',
'定期体检',
'五险一金',
'补充医疗保险',
'交通补贴',
'餐饮补贴',
'弹性工作',
'定期体检',
'五险一金',
'交通补贴',
'餐饮补贴',
'绩效奖金',
'年终奖金',
'股票期权',
'五险一金',
'做五休二',
'年终奖金',
'专业培训',
'五险一金',
'年终奖金',
'定期体检',
'员工旅游',
'专业培训',
'五险一金',
'年终奖金',
'绩效奖金',
'弹性工作',
'定期体检',
'做五休二',
'补充医疗保险',
'补充公积金',
'餐饮补贴',
'定期体检',
'专业培训',
'出国机会',
'年终奖金',
'六险二金',
'五险一金',
'年底双薪',
'包吃',
'交通补助',
'周末双休',
'补充医疗保险',
'餐饮补贴',
'周末双休',
'五险一金',
'年终奖金',
'定期体检',
'五险一金',
'双休不补班',
'五险一金',
'周末双休',
'带薪年假',
'节日福利',
'餐饮补贴',
'高温补贴',
'周末双休',
'带薪年假',
'五险一金',
'包吃',
'免费班车',
'绩效奖金',
'节日福利',
'专业培训',
'交通补贴',
'加班补贴',
'周末双休',
'专业培训',
'节日福利',
'餐饮补贴',
'做五休二',
'五险一金',
'带薪年假',
'交通补贴',
'住房补贴',
'通讯补贴',
'五险一金',
'绩效奖金',
'年终奖金',
'五险一金',
'绩效奖金',
'项目奖金',
'弹性上班',
'五险一金',
'年终奖金',
'交通补贴',
'餐饮补贴',
'绩效奖金',
'年底双薪',
'定期体检',
'节日福利',
'周末双休',
'五险一金',
'专业培训',
'绩效奖金',
'年终奖金',
'带薪年假',
'岗位晋升',
'住宿班车',
'加班补贴',
'出差补贴',
'体检',
'五险一金',
'员工旅游',
'出国机会',
'绩效奖金',
'年终奖金',
'周末双休',
'节日福利',
'带薪年假',
'大牛带队',
'全勤奖',
'平台大',
'团队氛围好',
'五险一金',
'员工旅游',
'餐饮补贴',
'专业培训',
'年终奖金',
'定期体检',
'五险一金',
'年终奖金',
'五险一金',
'员工旅游',
'定期体检',
'股票期权',
'绩效奖金',
'年终奖金',
'五险一金',
'员工旅游',
'交通补贴',
'餐饮补贴',
'通讯补贴',
'绩效奖金',
'年终奖金',
'专业培训',
'定期体检',
'周末双休',
'五险一金',
'员工旅游',
'交通补贴',
'餐饮补贴',
'定期体检',
'弹性工作',
'年终奖金',
'绩效奖金',
'补充医疗保险',
'通讯补贴',
'绩效奖金',
'定期体检',
'弹性工作',
'六险一金',
'做五休二',
'周末双休',
'带薪年假',
'五险一金',
'节日福利',
'五险一金',
'员工旅游',
'专业培训',
'年终奖金',
'员工旅游',
'周末双休',
'节日福利',
'五险一金',
'带薪年假',
'绩效奖金',
'年终奖金',
'五险一金',
'年终奖金',
'弹性工作',
'定期体检',
'出国机会',
'专业培训',
'五险一金',
'餐饮补贴',
'定期体检',
'通讯补贴',
'专业培训',
'绩效奖金',
'年终奖金',
'交通补贴',
'员工旅游',
'五险一金',
'员工旅游',
'餐饮补贴',
'专业培训',
'绩效奖金',
'年终奖金',
'定期体检',
'五险一金',
'餐饮补贴',
'通讯补贴',
'包吃住',
'五险一金',
'餐饮补贴',
'出国机会',
'绩效奖金',
'年终奖金',
'定期体检',
'通讯补贴',
'专业培训',
'五险一金',
'餐饮补贴',
'周末双休',
'五险一金',
'周末双休',
'绩效奖金',
'项目奖',
'下午茶',
'带薪年假',
'氛围活跃',
'节假日福利',
'有精致下午茶',
'周末双休',
'五险一金',
'绩效奖金',
'年终奖金',
'定期体检',
'五险一金',
'免费班车',
'专业培训',
'弹性工作',
'年终奖金',
'交通补贴',
'绩效奖金',
'定期体检',
'五险一金',
'补充医疗保险',
'员工旅游',
'交通补贴',
'专业培训',
'绩效奖金',
'年终奖金',
'股票期权',
'定期体检',
'周末双休',
'餐饮补贴',
'专业培训',
'交通补贴',
'周末双休',
'包住宿',
'五险一金',
'员工旅游',
'通讯补贴',
'定期体检',
'免费星级三餐',
'上市公司',
'带薪年假',
'绩效奖金',
'年终奖金',
'免费班车',
'五险一金',
'餐饮补贴',
'定期体检',
'年终奖金',
'节假日福利',
'专业培训',
'五险一金',
'员工旅游',
'定期体检',
'年终奖金',
'绩效奖金',
'弹性工作',
'餐饮补贴',
'周末双休',
'五险一金',
'定期体检',
'年终奖金',
'补充医疗保险',
'免费班车',
'专业培训',
'年终奖金',
'定期体检',
'周末双休',
'7天带薪年假',
'12天带薪病假',
'五险一金',
'专业培训',
'定期体检',
'绩效奖金',
'五险一金',
'补充公积金',
'通讯补贴',
'餐饮补贴',
'交通补贴',
'专业培训',
'绩效奖金',
'弹性工作',
'定期体检',
'企业年金',
'带薪年假',
'专业培训',
'五险一金',
'带薪年假',
'年终奖金',
'定期体检',
'免费班车',
'包住宿',
'包吃',
'年终奖金',
'带薪年假',
'五险一金',
'补充医疗保险',
'免费班车',
'餐饮补贴',
'通讯补贴',
'专业培训',
'员工旅游',
'定期体检',
'五险一金',
'带薪年假',
'定期体检',
'餐饮补贴',
'高温补贴',
'交通补贴',
'通讯补贴',
'专业培训',
'节日福利',
'绩效奖金',
'带薪年假',
'弹性工作',
'五险一金',
'交通补贴',
'餐饮补贴',
'团队拓展',
'专业培训',
'定期体检',
'扁平管理',
'员工旅游',
'绩效奖金',
'年终奖金',
'五险一金',
'员工旅游',
'专业培训',
'出国机会',
'绩效奖金',
'年终奖金',
'做五休二',
'五险一金',
'带薪年假',
'节日福利',
'专业培训',
'补充医疗保险',
'通讯补贴',
'年终奖金',
'弹性工作',
'定期体检',
'五险一金',
'免费班车',
'员工旅游',
'出国机会',
'年终奖金',
'定期体检',
'专业培训',
'五险一金',
'弹性工作',
'周末双休',
'带薪年假',
'绩效奖金',
'节日福利',
'专业培训',
'交通补贴',
'餐饮补贴',
'补充医疗保险',
'五险一金',
'弹性工作',
'年终奖金',
'加班晚餐',
'五险一金',
'补充医疗保险',
'定期体检',
'员工旅游',
'餐饮补贴',
'弹性工作',
'出国机会',
'绩效奖金',
'五险一金',
'免费班车',
'员工旅游',
'年终奖金',
'定期体检',
'补充医疗保险',
'通讯补贴',
'专业培训',
'绩效奖金',
'五险一金',
'免费班车',
'绩效奖金',
'年终奖金',
'专业培训',
'定期体检',
'五险一金',
'定期体检',
'五险一金',
'绩效奖金',
'五险一金',
'通讯补贴',
'餐饮补贴',
'定期体检',
'绩效奖金',
'年终奖金',
'交通补贴',
'员工旅游',
'五险一金',
'餐饮补贴',
'年终奖金',
'定期体检',
'节日福利',
'交通补贴',
'绩效奖金',
'五险一金',
'餐饮补贴',
'定期体检',
'年终奖金',
'五险一金',
'餐饮补贴',
'专业培训',
'绩效奖金',
'定期体检',
'通讯补贴',
'交通补贴',
'年终奖金',
'免费班车',
'周末双休',
'带薪年假',
'五险一金',
'专业培训',
'绩效奖金',
'定期体检',
'年终奖金',
'五险一金',
'绩效奖金',
'餐饮补贴',
'通讯补贴',
'节日福利',
'交通补贴',
'专业培训',
'五险一金',
'补充医疗保险',
'员工旅游',
'专业培训',
'绩效奖金',
'年终奖金',
'定期体检',
'五险一金',
'员工旅游',
'餐饮补贴',
'年终奖金',
'定期体检',
'五险一金',
'餐饮补贴',
'通讯补贴',
'员工旅游',
'定期体检',
'节假日福利',
'带薪年假',
'结婚生子贺仪',
'生日会和礼物',
'年终奖金',
'五险一金',
'补充医疗保险',
'出国机会',
'通讯补贴',
'餐饮补贴',
'交通补贴',
'年终奖金',
'定期体检',
'年底双薪',
'带薪年假',
'交通补助',
'午餐补助',
'免费班车',
'岗位晋升',
'五险一金',
'五险一金',
'专业培训',
'年终奖金',
'定期体检',
'工会福利',
'餐饮补贴',
'餐饮补贴',
'通讯补贴',
'定期体检',
'交通补贴',
'年终奖金',
'五险一金',
'补充公积金',
'企业年金',
'交通补贴',
'餐饮补贴',
'补充医疗保险',
'弹性工作',
'年终奖金',
'定期体检',
'五险一金',
'员工旅游',
'餐饮补贴',
'年终奖金',
'股票期权',
'定期体检',
'五险一金',
'补充医疗保险',
'补充公积金',
'弹性工作',
'年终奖金',
'绩效奖金',
'定期体检',
'员工旅游',
'专业培训',
'五险一金',
'定期体检',
'餐饮补贴',
'年终奖金',
'绩效奖金',
'五险一金',
'员工旅游',
'年终奖金',
'专业培训',
'餐饮补贴',
'交通补贴',
'通讯补贴',
'专业培训',
'定期体检',
'餐饮补贴',
'五险一金',
'绩效奖金',
'年终奖金',
'五险一金',
'补充医疗保险',
'专业培训',
'通讯补贴',
'交通补贴',
'绩效奖金',
'弹性工作',
'五险一金',
'交通补贴',
'餐饮补贴',
'通讯补贴',
'定期体检',
'五险一金',
'补充医疗保险',
'餐饮补贴',
'交通补贴',
'绩效奖金',
'弹性工作',
'五险一金',
'专业培训',
'周末双休',
'节日福利',
'绩效奖金',
'员工旅游',
'定期体检',
'餐饮补贴',
'带薪年假',
'定期体检',
'五险一金',
'补充医疗保险',
'高温补贴',
'定期团建',
'节日福利',
'周末双休',
'员工培训',
'绩效奖金',
'五险一金',
'补充医疗保险',
'交通补贴',
'餐饮补贴',
'通讯补贴',
'绩效奖金',
'年终奖金',
'定期体检',
'停车补贴',
'五险一金',
'餐饮补贴',
'绩效奖金',
'年终奖金',
'定期体检',
'五险一金',
'补充医疗保险',
'补充公积金',
'免费班车',
'专业培训',
'餐饮补贴',
'绩效奖金',
'定期体检',
'年终奖金',
'通讯补贴',
'免费班车',
'五险一金',
'补充医疗保险',
'定期体检',
'餐饮补贴',
'绩效奖金',
'专业培训',
'弹性工作',
'五险一金',
'补充医疗保险',
'年终奖金',
'弹性工作',
'股票期权',
'五险一金',
'餐饮补贴',
'交通补贴',
'通讯补贴',
'绩效奖金',
'年终奖金',
'周末双休',
'带薪年假',
'员工体检',
'通讯补贴',
'交通补贴',
'餐饮补贴',
'节日福利',
'五险一金',
'绩效奖金',
'补充医疗保险',
'午餐补助',
'上市公司',
'生育补贴',
'团队聚餐',
'节日礼物',
'带薪年假',
'弹性工作',
'五险一金',
'专业培训',
'定期体检',
'五险一金',
'专业培训',
'补充医疗保险',
'定期体检',
'餐饮补贴',
'交通补贴',
'通讯补贴',
'绩效奖金',
'年终奖金',
'五险一金',
'员工旅游',
'交通补贴',
'餐饮补贴',
'绩效奖金',
'年终奖金',
'弹性工作',
'五险一金',
'年终奖金',
'定期体检',
'团建活动',
'专业培训',
'周末双休',
'免费班车',
'餐饮补贴',
'节日福利',
'五险一金',
'定期体检',
'年终奖金',
'员工旅游',
'节日福利',
'绩效奖金',
'定期体检',
'周末双休',
'节日福利',
'弹性工作',
'六险一金',
'年底双薪',
'带薪年假',
'交通补助',
'午餐补助',
'五险一金',
'补充医疗保险',
'免费班车',
'年终奖金',
'定期体检',
'宿舍',
'五险一金',
'员工旅游',
'餐饮补贴',
'年终奖金',
'定期体检',
'专业培训',
'免费班车',
'五险一金',
'补充医疗保险',
'出国机会',
'年终奖金',
'定期体检',
'工会福利',
'包吃包住',
'集中假期',
'五险一金',
'专业培训',
'绩效奖金',
'五险一金',
'免费班车',
'周末双休',
'交通补贴',
'节日福利',
'五险一金',
'带薪年假',
'加班补贴',
'住房补贴',
'高温补贴',
'餐饮补贴',
'全勤奖',
'五险一金',
'补充医疗保险',
'免费班车',
'弹性工作',
'定期体检',
'年终奖金',
'绩效奖金',
'专业培训',
'五险一金',
'周末双休',
'补充医疗保险',
'交通补贴',
'餐饮补贴',
'绩效奖金',
'年终奖金',
'定期体检',
'专业培训',
'员工旅游',
'五险一金',
'员工旅游',
'绩效奖金',
'年终奖金',
'餐饮补贴',
'周末双休',
'员工旅游',
'五险一金',
'年终奖金',
'专业培训',
'定期体检',
'六险一金',
'上市公司',
'节日礼物',
'年度旅游',
'定期体检',
'餐补',
'五险一金',
'全勤奖',
'补充公积金',
'补充医疗保险',
'专业培训',
'健身房',
'淋浴室',
'每天下午茶',
'五险一金',
'周末双休',
'法定节假日',
'社保',
'员工旅游',
'绩效奖金',
'年终奖金',
'团队聚餐',
'团建',
'定期体检',
'周末双休',
'带薪年假',
'高温补贴',
'节日福利',
'员工旅游',
'餐饮补贴',
'绩效奖金',
'年终奖金',
'七险一金',
'五险一金',
'交通补贴',
'餐饮补贴',
'通讯补贴',
'专业培训',
'绩效奖金',
'弹性工作',
'五险一金',
'餐饮补贴',
'通讯补贴',
'绩效奖金',
'定期体检',
'周末双休',
'带薪年假',
'住房补贴',
'节日福利',
'五险',
'员工旅游',
'绩效奖金',
'交通补贴',
'专业培训',
'带薪年假',
'周末双休',
'节日福利',
'出差补贴',
'五险一金',
'餐饮补贴',
'通讯补贴',
'专业培训',
'绩效奖金',
'定期体检',
'五险',
'周末双休',
'绩效奖金',
'带薪年假',
'免费班车',
'五险一金',
'发展空间大',
'五险一金',
'周末双休',
'带薪年假',
'节日福利',
'绩效奖金',
'健身俱乐部',
'免费自助餐',
'补充医疗保险',
'重疾险意外险',
'12-18薪',
'五险一金',
'带薪年假',
'节日福利',
'专业培训',
'五险一金',
'餐饮补贴',
'定期体检',
'通讯补贴',
'绩效奖金',
'年终奖金',
'交通补贴',
'周末双休',
'五险一金',
'年终奖金',
'带薪生日假',
'额外司龄年假',
'额外福利年假',
'五险一金',
'补充医疗保险',
'员工旅游',
'交通补贴',
'餐饮补贴',
'年终奖金',
'五险一金',
'员工旅游',
'餐饮补贴',
'绩效奖金',
'带薪年假',
'五险一金',
'补充医疗保险',
'员工旅游',
'交通补贴',
'绩效奖金',
'年终奖金',
'定期体检',
'早九晚六',
'周末双休',
'五险一金',
'员工旅游',
'年终奖金',
'定期体检',
'周末双休',
'通讯补贴',
'补充医疗保险',
'补充公积金',
'绩效奖金',
'弹性工作',
'五险一金',
'补充医疗保险',
'员工旅游',
'交通补贴',
'绩效奖金',
'年终奖金',
'弹性工作',
'定期体检',
'周末双休',
'五险一金',
'补充医疗保险',
'补充公积金',
'交通补贴',
'餐饮补贴',
'通讯补贴',
'绩效奖金',
'年终奖金',
'定期体检',
'补充医疗保险',
'员工旅游',
'交通补贴',
'专业培训',
'年终奖金',
'定期体检',
'五险一金',
'补充医疗保险',
'补充公积金',
'免费班车',
'员工旅游',
'交通补贴',
'绩效奖金',
'年终奖金',
'定期体检',
'国企',
'五险一金',
'补充医疗保险',
'通讯补贴',
'餐饮补贴',
'交通补贴',
'取暖补贴',
'防暑降温补贴',
'节日补贴',
'五险一金',
'补充医疗保险',
'年终奖金',
'下午茶',
'五险一金',
'员工旅游',
'通讯补贴',
'定期体检',
'年终奖金',
'弹性工作',
'周末双休',
'做五休二',
'周末双休',
'五险一金',
'全勤奖',
'节日福利',
'员工旅游',
'五险一金',
'补充医疗保险',
'专业培训',
'定期体检',
'五险一金',
'补充医疗保险',
'弹性工作',
'定期体检',
'专业培训',
'五险一金',
'绩效奖金',
'年终奖金',
'五险一金',
'餐饮补贴',
'通讯补贴',
'绩效奖金',
'年终奖金',
'定期体检',
'节日福利',
'季度奖金',
'专业培训',
'五险一金',
'免费班车',
'交通补贴',
'餐饮补贴',
'通讯补贴',
'专业培训',
'年终奖金',
'带薪年假',
'五险一金',
'节日福利',
'餐饮补贴',
'绩效奖金',
'年终奖金',
'免费班车',
'专业培训',
'周末双休',
'意外险',
'五险一金',
'员工旅游',
'定期体检',
'年终奖金',
'绩效奖金',
'补充公积金',
'周末双休',
'五险一金',
'绩效奖金',
'带薪年假',
'带薪病假',
'补贴',
'生日福利',
'五险一金',
'餐饮补贴',
'通讯补贴',
...]
#共计多少词条
len(word)
128978
#统计词频
from collections import Counter
Counter(word).keys()
word_count = list(zip(Counter(word).keys(),Counter(word).values()))
#词云图
#定义函数形式显示
from pyecharts import options as opts
from pyecharts.charts import Page, WordCloud
from pyecharts.globals import SymbolType
words = word_count
def wordcloud_base() -> WordCloud:
c = (
WordCloud()
.add("", words,word_size_range=[20, 100])
.set_global_opts(title_opts=opts.TitleOpts(title="福利词云图"))
)
return c
c=wordcloud_base()
c.render_notebook()
<div id="4b26067e00fe4febab5b8c9fdd943b18" style="width:900px; height:500px;"></div>
5、挖掘数据特征
#数据读取
import pandas as pd
new_df = pd.read_csv('new2.csv',encoding="gbk")
new_df = new_df.dropna(axis=0,subset=["薪资"])
new_df
|
岗位名称 |
公司名称 |
薪资 |
城市 |
福利 |
公司规模 |
所处行业 |
工作经验要求 |
学历要求 |
发布时间 |
0 |
大数据开发工程师 |
广东德生科技股份有限公司 |
14000.0 |
广州 |
五险一金 免费班车 员工旅游 交通补贴 年终奖金 绩效奖金 定期体检 |
1000-5000人 |
上市公司 |
3-4年经验 |
本科 |
2022/5/24 16:44 |
1 |
大数据ETL开发 |
友达光电(苏州)有限公司 |
11000.0 |
苏州 |
五险一金 免费班车 员工旅游 年终奖金 餐饮补贴 定期体检 |
10000人以上 |
外资(非欧美) |
无需经验 |
本科 |
2022/5/24 11:07 |
2 |
大数据开发工程师 |
中软国际科技服务有限公司 |
20000.0 |
上海 |
五险一金 补充医疗保险 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
合资 |
3-4年经验 |
本科 |
2022/5/24 17:35 |
3 |
大数据交付工程师(J14637) |
广州神州数码有限公司 |
25000.0 |
广州 |
五险一金 补充医疗保险 餐饮补贴 通讯补贴 专业培训 绩效奖金 年终奖金 弹性工作 定期体检 |
10000人以上 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 13:00 |
4 |
大数据研发工程师 |
上海机颖智能科技有限公司 |
32500.0 |
上海 |
五险一金 补充医疗保险 交通补贴 餐饮补贴 弹性工作 定期体检 |
50-150人 |
外资(欧美) |
5-7年经验 |
本科 |
2022/5/24 17:57 |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
24897 |
伊利 2022 年校招-数字化专训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
7500.0 |
潍坊 |
五险一金 年终奖金 专业培训 定期体检 免费班车 绩效奖金 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:03 |
24898 |
伊利2022年校招-销售培训生(液态奶) |
内蒙古伊利实业集团股份有限公司 |
10500.0 |
苏州 |
五险一金 绩效奖金 通讯补贴 专业培训 弹性工作 节日福利 高温补贴 住房补贴 |
10000人以上 |
上市公司 |
在校生/应届生 |
本科 |
2022/5/24 9:01 |
24899 |
IT需求分析师(GSK) |
上海外服(集团)有限公司 |
12500.0 |
上海 |
五险一金 年终奖金 做五休二 周末双休 带薪年假 节日福利 |
1000-5000人 |
国企 |
在校生/应届生 |
本科 |
2022/5/23 10:55 |
24900 |
研发技术岗(应届生) |
三一重机有限公司 |
17000.0 |
昆山 |
五险一金 免费班车 餐饮补贴 专业培训 绩效奖金 年终奖金 节假日物资 |
1000-5000人 |
民营公司 |
在校生/应届生 |
硕士 |
2022/5/22 20:00 |
24901 |
房产销售/底薪5500门店店员/销售实习ls |
四川链家房地产经纪有限公司 |
7250.0 |
成都 |
NaN |
10000人以上 |
民营公司 |
在校生/应届生 |
本科 |
2022/5/20 15:42 |
24707 rows × 10 columns
#将字符类型特征值转换成数值
'''from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit_transform(new_df['城市'])
#array([ 95, 203, 3, ..., 3, 121, 109])
le.inverse_transform([0])
#array(['三亚'], dtype=object)
#-----------------
le.fit(new_df['城市'])
#le.classes_
le.transform(new_df['城市'])
#array([ 95, 203, 3, ..., 3, 121, 109])
le.inverse_transform([0, 0, 1, 2])
#array(['三亚', '三亚', '三明', '三门峡'], dtype=object)
'''
"from sklearn import preprocessing\nle = preprocessing.LabelEncoder()\nle.fit_transform(new_df['城市'])\n#array([ 95, 203, 3, ..., 3, 121, 109])\nle.inverse_transform([0])\n#array(['三亚'], dtype=object)\n#-----------------\nle.fit(new_df['城市'])\n#le.classes_\nle.transform(new_df['城市'])\n#array([ 95, 203, 3, ..., 3, 121, 109])\nle.inverse_transform([0, 0, 1, 2])\n#array(['三亚', '三亚', '三明', '三门峡'], dtype=object)\n"
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
new_df['城市编码'] = le.fit_transform(new_df['城市'])
new_df['工作经验要求编码'] = le.fit_transform(new_df['工作经验要求'])
new_df['学历要求编码'] = le.fit_transform(new_df['学历要求'])
new_df.head()
X = new_df[['城市编码','工作经验要求编码','学历要求编码']]
Y = new_df['薪资'].astype(int)
print('数据维度:',X.shape,Y.shape)
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=0)
print('训练集维度:',X_train.shape, y_train.shape)
# 查看测试集维度
print('测试集维度:',X_test.shape, y_test.shape)
数据维度: (24707, 3) (24707,)
训练集维度: (19765, 3) (19765,)
测试集维度: (4942, 3) (4942,)
建立高斯朴素贝叶斯模型
clf = GaussianNB()
clf.fit(X_train, y_train)
print('测试集数据检验模型准确率:',clf.score(X_test, y_test))
from sklearn import metrics
print("模型准确度:", metrics.precision_score(y_test, y_pred,average='micro'))
#y_li = clf.predict(X_li2)
#print("预测结果:",y_li)
print('召回率:',metrics.recall_score(y_test,y_pred,average='micro'))
测试集数据检验模型准确率: 0.05584783488466208
模型准确度: 0.10602994738972076
召回率: 0.10602994738972076
y_pred = clf.predict(X_test)
print("真实薪资:",y_train.values)
print("预测薪资:",y_pred)
真实薪资: [12500 12000 7500 ... 12500 8000 16000]
预测薪资: [ 3200 12916 80000 ... 34000 34000 25416]
使用支持向量机分类模型预测薪资
#支持向量机
from sklearn import svm
高斯核函数
clf = svm.SVC(kernel='rbf')
clf.fit(X_train, y_train)
SVC()
rv = clf.score(X_train, y_train)#模型准确率 针对训练集
rv#准确率
0.10392107260308626
R = clf.predict(X_test)
print("真实薪资:",y_test.values)
print("预测薪资:",R)
真实薪资: [13000 12500 37500 ... 9000 13500 30000]
预测薪资: [12500 9000 9000 ... 9000 12500 9000]
y_test.values.size
#19765
j=0
v=4500
for i in range(R.size):
if y_test.values[i] == R[i]:
j+=1
elif y_test.values[i] > R[i]:
if (y_test.values[i]-v)<R[i]:
j+=1
else:
j+=0
else:
if (y_test.values[i]+v)>R[i]:
j+=1
else:
j+=0
z =j/R.size
print("准确率为:",z)
准确率为: 0.5194253338729259
多项式核函数
clf = svm.SVC(kernel='poly')
clf.fit(X_train, y_train)
rv = clf.score(X_train, y_train)#模型准确率 针对训练集
print(rv)
0.09896281305337719
线性核函数
clf = svm.SVC(kernel='linear')#sigmoid
clf.fit(X_train, y_train)
rv = clf.score(X_train, y_train)#模型准确率 针对训练集
print(rv)
0.13751581077662534
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver = 'lbfgs',alpha = 1e-5,hidden_layer_sizes = (5,2),random_state =1,max_iter=1000)
clf.fit(X_train, y_train)
rv = clf.score(X_train, y_train)
print('准确率:',rv)
准确率: 0.09835567923096382
print("最高工资:",Y.max())
print("最低工资:",Y.min())
#for i in range(Y.size):
最高工资: 1498500
最低工资: 1000
int
# import numpy as np
# s = np.linspace(Y.min(),Y.max(),1000)
# s
array([1.00000000e+03, 2.49899900e+03, 3.99799800e+03, 5.49699700e+03,
6.99599600e+03, 8.49499499e+03, 9.99399399e+03, 1.14929930e+04,
1.29919920e+04, 1.44909910e+04, 1.59899900e+04, 1.74889890e+04,
1.89879880e+04, 2.04869870e+04, 2.19859860e+04, 2.34849850e+04,
2.49839840e+04, 2.64829830e+04, 2.79819820e+04, 2.94809810e+04,
3.09799800e+04, 3.24789790e+04, 3.39779780e+04, 3.54769770e+04,
3.69759760e+04, 3.84749750e+04, 3.99739740e+04, 4.14729730e+04,
4.29719720e+04, 4.44709710e+04, 4.59699700e+04, 4.74689690e+04,
4.89679680e+04, 5.04669670e+04, 5.19659660e+04, 5.34649650e+04,
5.49639640e+04, 5.64629630e+04, 5.79619620e+04, 5.94609610e+04,
6.09599600e+04, 6.24589590e+04, 6.39579580e+04, 6.54569570e+04,
6.69559560e+04, 6.84549550e+04, 6.99539540e+04, 7.14529530e+04,
7.29519520e+04, 7.44509510e+04, 7.59499499e+04, 7.74489489e+04,
7.89479479e+04, 8.04469469e+04, 8.19459459e+04, 8.34449449e+04,
8.49439439e+04, 8.64429429e+04, 8.79419419e+04, 8.94409409e+04,
9.09399399e+04, 9.24389389e+04, 9.39379379e+04, 9.54369369e+04,
9.69359359e+04, 9.84349349e+04, 9.99339339e+04, 1.01432933e+05,
1.02931932e+05, 1.04430931e+05, 1.05929930e+05, 1.07428929e+05,
1.08927928e+05, 1.10426927e+05, 1.11925926e+05, 1.13424925e+05,
1.14923924e+05, 1.16422923e+05, 1.17921922e+05, 1.19420921e+05,
1.20919920e+05, 1.22418919e+05, 1.23917918e+05, 1.25416917e+05,
1.26915916e+05, 1.28414915e+05, 1.29913914e+05, 1.31412913e+05,
1.32911912e+05, 1.34410911e+05, 1.35909910e+05, 1.37408909e+05,
1.38907908e+05, 1.40406907e+05, 1.41905906e+05, 1.43404905e+05,
1.44903904e+05, 1.46402903e+05, 1.47901902e+05, 1.49400901e+05,
1.50899900e+05, 1.52398899e+05, 1.53897898e+05, 1.55396897e+05,
1.56895896e+05, 1.58394895e+05, 1.59893894e+05, 1.61392893e+05,
1.62891892e+05, 1.64390891e+05, 1.65889890e+05, 1.67388889e+05,
1.68887888e+05, 1.70386887e+05, 1.71885886e+05, 1.73384885e+05,
1.74883884e+05, 1.76382883e+05, 1.77881882e+05, 1.79380881e+05,
1.80879880e+05, 1.82378879e+05, 1.83877878e+05, 1.85376877e+05,
1.86875876e+05, 1.88374875e+05, 1.89873874e+05, 1.91372873e+05,
1.92871872e+05, 1.94370871e+05, 1.95869870e+05, 1.97368869e+05,
1.98867868e+05, 2.00366867e+05, 2.01865866e+05, 2.03364865e+05,
2.04863864e+05, 2.06362863e+05, 2.07861862e+05, 2.09360861e+05,
2.10859860e+05, 2.12358859e+05, 2.13857858e+05, 2.15356857e+05,
2.16855856e+05, 2.18354855e+05, 2.19853854e+05, 2.21352853e+05,
2.22851852e+05, 2.24350851e+05, 2.25849850e+05, 2.27348849e+05,
2.28847848e+05, 2.30346847e+05, 2.31845846e+05, 2.33344845e+05,
2.34843844e+05, 2.36342843e+05, 2.37841842e+05, 2.39340841e+05,
2.40839840e+05, 2.42338839e+05, 2.43837838e+05, 2.45336837e+05,
2.46835836e+05, 2.48334835e+05, 2.49833834e+05, 2.51332833e+05,
2.52831832e+05, 2.54330831e+05, 2.55829830e+05, 2.57328829e+05,
2.58827828e+05, 2.60326827e+05, 2.61825826e+05, 2.63324825e+05,
2.64823824e+05, 2.66322823e+05, 2.67821822e+05, 2.69320821e+05,
2.70819820e+05, 2.72318819e+05, 2.73817818e+05, 2.75316817e+05,
2.76815816e+05, 2.78314815e+05, 2.79813814e+05, 2.81312813e+05,
2.82811812e+05, 2.84310811e+05, 2.85809810e+05, 2.87308809e+05,
2.88807808e+05, 2.90306807e+05, 2.91805806e+05, 2.93304805e+05,
2.94803804e+05, 2.96302803e+05, 2.97801802e+05, 2.99300801e+05,
3.00799800e+05, 3.02298799e+05, 3.03797798e+05, 3.05296797e+05,
3.06795796e+05, 3.08294795e+05, 3.09793794e+05, 3.11292793e+05,
3.12791792e+05, 3.14290791e+05, 3.15789790e+05, 3.17288789e+05,
3.18787788e+05, 3.20286787e+05, 3.21785786e+05, 3.23284785e+05,
3.24783784e+05, 3.26282783e+05, 3.27781782e+05, 3.29280781e+05,
3.30779780e+05, 3.32278779e+05, 3.33777778e+05, 3.35276777e+05,
3.36775776e+05, 3.38274775e+05, 3.39773774e+05, 3.41272773e+05,
3.42771772e+05, 3.44270771e+05, 3.45769770e+05, 3.47268769e+05,
3.48767768e+05, 3.50266767e+05, 3.51765766e+05, 3.53264765e+05,
3.54763764e+05, 3.56262763e+05, 3.57761762e+05, 3.59260761e+05,
3.60759760e+05, 3.62258759e+05, 3.63757758e+05, 3.65256757e+05,
3.66755756e+05, 3.68254755e+05, 3.69753754e+05, 3.71252753e+05,
3.72751752e+05, 3.74250751e+05, 3.75749750e+05, 3.77248749e+05,
3.78747748e+05, 3.80246747e+05, 3.81745746e+05, 3.83244745e+05,
3.84743744e+05, 3.86242743e+05, 3.87741742e+05, 3.89240741e+05,
3.90739740e+05, 3.92238739e+05, 3.93737738e+05, 3.95236737e+05,
3.96735736e+05, 3.98234735e+05, 3.99733734e+05, 4.01232733e+05,
4.02731732e+05, 4.04230731e+05, 4.05729730e+05, 4.07228729e+05,
4.08727728e+05, 4.10226727e+05, 4.11725726e+05, 4.13224725e+05,
4.14723724e+05, 4.16222723e+05, 4.17721722e+05, 4.19220721e+05,
4.20719720e+05, 4.22218719e+05, 4.23717718e+05, 4.25216717e+05,
4.26715716e+05, 4.28214715e+05, 4.29713714e+05, 4.31212713e+05,
4.32711712e+05, 4.34210711e+05, 4.35709710e+05, 4.37208709e+05,
4.38707708e+05, 4.40206707e+05, 4.41705706e+05, 4.43204705e+05,
4.44703704e+05, 4.46202703e+05, 4.47701702e+05, 4.49200701e+05,
4.50699700e+05, 4.52198699e+05, 4.53697698e+05, 4.55196697e+05,
4.56695696e+05, 4.58194695e+05, 4.59693694e+05, 4.61192693e+05,
4.62691692e+05, 4.64190691e+05, 4.65689690e+05, 4.67188689e+05,
4.68687688e+05, 4.70186687e+05, 4.71685686e+05, 4.73184685e+05,
4.74683684e+05, 4.76182683e+05, 4.77681682e+05, 4.79180681e+05,
4.80679680e+05, 4.82178679e+05, 4.83677678e+05, 4.85176677e+05,
4.86675676e+05, 4.88174675e+05, 4.89673674e+05, 4.91172673e+05,
4.92671672e+05, 4.94170671e+05, 4.95669670e+05, 4.97168669e+05,
4.98667668e+05, 5.00166667e+05, 5.01665666e+05, 5.03164665e+05,
5.04663664e+05, 5.06162663e+05, 5.07661662e+05, 5.09160661e+05,
5.10659660e+05, 5.12158659e+05, 5.13657658e+05, 5.15156657e+05,
5.16655656e+05, 5.18154655e+05, 5.19653654e+05, 5.21152653e+05,
5.22651652e+05, 5.24150651e+05, 5.25649650e+05, 5.27148649e+05,
5.28647648e+05, 5.30146647e+05, 5.31645646e+05, 5.33144645e+05,
5.34643644e+05, 5.36142643e+05, 5.37641642e+05, 5.39140641e+05,
5.40639640e+05, 5.42138639e+05, 5.43637638e+05, 5.45136637e+05,
5.46635636e+05, 5.48134635e+05, 5.49633634e+05, 5.51132633e+05,
5.52631632e+05, 5.54130631e+05, 5.55629630e+05, 5.57128629e+05,
5.58627628e+05, 5.60126627e+05, 5.61625626e+05, 5.63124625e+05,
5.64623624e+05, 5.66122623e+05, 5.67621622e+05, 5.69120621e+05,
5.70619620e+05, 5.72118619e+05, 5.73617618e+05, 5.75116617e+05,
5.76615616e+05, 5.78114615e+05, 5.79613614e+05, 5.81112613e+05,
5.82611612e+05, 5.84110611e+05, 5.85609610e+05, 5.87108609e+05,
5.88607608e+05, 5.90106607e+05, 5.91605606e+05, 5.93104605e+05,
5.94603604e+05, 5.96102603e+05, 5.97601602e+05, 5.99100601e+05,
6.00599600e+05, 6.02098599e+05, 6.03597598e+05, 6.05096597e+05,
6.06595596e+05, 6.08094595e+05, 6.09593594e+05, 6.11092593e+05,
6.12591592e+05, 6.14090591e+05, 6.15589590e+05, 6.17088589e+05,
6.18587588e+05, 6.20086587e+05, 6.21585586e+05, 6.23084585e+05,
6.24583584e+05, 6.26082583e+05, 6.27581582e+05, 6.29080581e+05,
6.30579580e+05, 6.32078579e+05, 6.33577578e+05, 6.35076577e+05,
6.36575576e+05, 6.38074575e+05, 6.39573574e+05, 6.41072573e+05,
6.42571572e+05, 6.44070571e+05, 6.45569570e+05, 6.47068569e+05,
6.48567568e+05, 6.50066567e+05, 6.51565566e+05, 6.53064565e+05,
6.54563564e+05, 6.56062563e+05, 6.57561562e+05, 6.59060561e+05,
6.60559560e+05, 6.62058559e+05, 6.63557558e+05, 6.65056557e+05,
6.66555556e+05, 6.68054555e+05, 6.69553554e+05, 6.71052553e+05,
6.72551552e+05, 6.74050551e+05, 6.75549550e+05, 6.77048549e+05,
6.78547548e+05, 6.80046547e+05, 6.81545546e+05, 6.83044545e+05,
6.84543544e+05, 6.86042543e+05, 6.87541542e+05, 6.89040541e+05,
6.90539540e+05, 6.92038539e+05, 6.93537538e+05, 6.95036537e+05,
6.96535536e+05, 6.98034535e+05, 6.99533534e+05, 7.01032533e+05,
7.02531532e+05, 7.04030531e+05, 7.05529530e+05, 7.07028529e+05,
7.08527528e+05, 7.10026527e+05, 7.11525526e+05, 7.13024525e+05,
7.14523524e+05, 7.16022523e+05, 7.17521522e+05, 7.19020521e+05,
7.20519520e+05, 7.22018519e+05, 7.23517518e+05, 7.25016517e+05,
7.26515516e+05, 7.28014515e+05, 7.29513514e+05, 7.31012513e+05,
7.32511512e+05, 7.34010511e+05, 7.35509510e+05, 7.37008509e+05,
7.38507508e+05, 7.40006507e+05, 7.41505506e+05, 7.43004505e+05,
7.44503504e+05, 7.46002503e+05, 7.47501502e+05, 7.49000501e+05,
7.50499499e+05, 7.51998498e+05, 7.53497497e+05, 7.54996496e+05,
7.56495495e+05, 7.57994494e+05, 7.59493493e+05, 7.60992492e+05,
7.62491491e+05, 7.63990490e+05, 7.65489489e+05, 7.66988488e+05,
7.68487487e+05, 7.69986486e+05, 7.71485485e+05, 7.72984484e+05,
7.74483483e+05, 7.75982482e+05, 7.77481481e+05, 7.78980480e+05,
7.80479479e+05, 7.81978478e+05, 7.83477477e+05, 7.84976476e+05,
7.86475475e+05, 7.87974474e+05, 7.89473473e+05, 7.90972472e+05,
7.92471471e+05, 7.93970470e+05, 7.95469469e+05, 7.96968468e+05,
7.98467467e+05, 7.99966466e+05, 8.01465465e+05, 8.02964464e+05,
8.04463463e+05, 8.05962462e+05, 8.07461461e+05, 8.08960460e+05,
8.10459459e+05, 8.11958458e+05, 8.13457457e+05, 8.14956456e+05,
8.16455455e+05, 8.17954454e+05, 8.19453453e+05, 8.20952452e+05,
8.22451451e+05, 8.23950450e+05, 8.25449449e+05, 8.26948448e+05,
8.28447447e+05, 8.29946446e+05, 8.31445445e+05, 8.32944444e+05,
8.34443443e+05, 8.35942442e+05, 8.37441441e+05, 8.38940440e+05,
8.40439439e+05, 8.41938438e+05, 8.43437437e+05, 8.44936436e+05,
8.46435435e+05, 8.47934434e+05, 8.49433433e+05, 8.50932432e+05,
8.52431431e+05, 8.53930430e+05, 8.55429429e+05, 8.56928428e+05,
8.58427427e+05, 8.59926426e+05, 8.61425425e+05, 8.62924424e+05,
8.64423423e+05, 8.65922422e+05, 8.67421421e+05, 8.68920420e+05,
8.70419419e+05, 8.71918418e+05, 8.73417417e+05, 8.74916416e+05,
8.76415415e+05, 8.77914414e+05, 8.79413413e+05, 8.80912412e+05,
8.82411411e+05, 8.83910410e+05, 8.85409409e+05, 8.86908408e+05,
8.88407407e+05, 8.89906406e+05, 8.91405405e+05, 8.92904404e+05,
8.94403403e+05, 8.95902402e+05, 8.97401401e+05, 8.98900400e+05,
9.00399399e+05, 9.01898398e+05, 9.03397397e+05, 9.04896396e+05,
9.06395395e+05, 9.07894394e+05, 9.09393393e+05, 9.10892392e+05,
9.12391391e+05, 9.13890390e+05, 9.15389389e+05, 9.16888388e+05,
9.18387387e+05, 9.19886386e+05, 9.21385385e+05, 9.22884384e+05,
9.24383383e+05, 9.25882382e+05, 9.27381381e+05, 9.28880380e+05,
9.30379379e+05, 9.31878378e+05, 9.33377377e+05, 9.34876376e+05,
9.36375375e+05, 9.37874374e+05, 9.39373373e+05, 9.40872372e+05,
9.42371371e+05, 9.43870370e+05, 9.45369369e+05, 9.46868368e+05,
9.48367367e+05, 9.49866366e+05, 9.51365365e+05, 9.52864364e+05,
9.54363363e+05, 9.55862362e+05, 9.57361361e+05, 9.58860360e+05,
9.60359359e+05, 9.61858358e+05, 9.63357357e+05, 9.64856356e+05,
9.66355355e+05, 9.67854354e+05, 9.69353353e+05, 9.70852352e+05,
9.72351351e+05, 9.73850350e+05, 9.75349349e+05, 9.76848348e+05,
9.78347347e+05, 9.79846346e+05, 9.81345345e+05, 9.82844344e+05,
9.84343343e+05, 9.85842342e+05, 9.87341341e+05, 9.88840340e+05,
9.90339339e+05, 9.91838338e+05, 9.93337337e+05, 9.94836336e+05,
9.96335335e+05, 9.97834334e+05, 9.99333333e+05, 1.00083233e+06,
1.00233133e+06, 1.00383033e+06, 1.00532933e+06, 1.00682833e+06,
1.00832733e+06, 1.00982633e+06, 1.01132533e+06, 1.01282432e+06,
1.01432332e+06, 1.01582232e+06, 1.01732132e+06, 1.01882032e+06,
1.02031932e+06, 1.02181832e+06, 1.02331732e+06, 1.02481632e+06,
1.02631532e+06, 1.02781431e+06, 1.02931331e+06, 1.03081231e+06,
1.03231131e+06, 1.03381031e+06, 1.03530931e+06, 1.03680831e+06,
1.03830731e+06, 1.03980631e+06, 1.04130531e+06, 1.04280430e+06,
1.04430330e+06, 1.04580230e+06, 1.04730130e+06, 1.04880030e+06,
1.05029930e+06, 1.05179830e+06, 1.05329730e+06, 1.05479630e+06,
1.05629530e+06, 1.05779429e+06, 1.05929329e+06, 1.06079229e+06,
1.06229129e+06, 1.06379029e+06, 1.06528929e+06, 1.06678829e+06,
1.06828729e+06, 1.06978629e+06, 1.07128529e+06, 1.07278428e+06,
1.07428328e+06, 1.07578228e+06, 1.07728128e+06, 1.07878028e+06,
1.08027928e+06, 1.08177828e+06, 1.08327728e+06, 1.08477628e+06,
1.08627528e+06, 1.08777427e+06, 1.08927327e+06, 1.09077227e+06,
1.09227127e+06, 1.09377027e+06, 1.09526927e+06, 1.09676827e+06,
1.09826727e+06, 1.09976627e+06, 1.10126527e+06, 1.10276426e+06,
1.10426326e+06, 1.10576226e+06, 1.10726126e+06, 1.10876026e+06,
1.11025926e+06, 1.11175826e+06, 1.11325726e+06, 1.11475626e+06,
1.11625526e+06, 1.11775425e+06, 1.11925325e+06, 1.12075225e+06,
1.12225125e+06, 1.12375025e+06, 1.12524925e+06, 1.12674825e+06,
1.12824725e+06, 1.12974625e+06, 1.13124525e+06, 1.13274424e+06,
1.13424324e+06, 1.13574224e+06, 1.13724124e+06, 1.13874024e+06,
1.14023924e+06, 1.14173824e+06, 1.14323724e+06, 1.14473624e+06,
1.14623524e+06, 1.14773423e+06, 1.14923323e+06, 1.15073223e+06,
1.15223123e+06, 1.15373023e+06, 1.15522923e+06, 1.15672823e+06,
1.15822723e+06, 1.15972623e+06, 1.16122523e+06, 1.16272422e+06,
1.16422322e+06, 1.16572222e+06, 1.16722122e+06, 1.16872022e+06,
1.17021922e+06, 1.17171822e+06, 1.17321722e+06, 1.17471622e+06,
1.17621522e+06, 1.17771421e+06, 1.17921321e+06, 1.18071221e+06,
1.18221121e+06, 1.18371021e+06, 1.18520921e+06, 1.18670821e+06,
1.18820721e+06, 1.18970621e+06, 1.19120521e+06, 1.19270420e+06,
1.19420320e+06, 1.19570220e+06, 1.19720120e+06, 1.19870020e+06,
1.20019920e+06, 1.20169820e+06, 1.20319720e+06, 1.20469620e+06,
1.20619520e+06, 1.20769419e+06, 1.20919319e+06, 1.21069219e+06,
1.21219119e+06, 1.21369019e+06, 1.21518919e+06, 1.21668819e+06,
1.21818719e+06, 1.21968619e+06, 1.22118519e+06, 1.22268418e+06,
1.22418318e+06, 1.22568218e+06, 1.22718118e+06, 1.22868018e+06,
1.23017918e+06, 1.23167818e+06, 1.23317718e+06, 1.23467618e+06,
1.23617518e+06, 1.23767417e+06, 1.23917317e+06, 1.24067217e+06,
1.24217117e+06, 1.24367017e+06, 1.24516917e+06, 1.24666817e+06,
1.24816717e+06, 1.24966617e+06, 1.25116517e+06, 1.25266416e+06,
1.25416316e+06, 1.25566216e+06, 1.25716116e+06, 1.25866016e+06,
1.26015916e+06, 1.26165816e+06, 1.26315716e+06, 1.26465616e+06,
1.26615516e+06, 1.26765415e+06, 1.26915315e+06, 1.27065215e+06,
1.27215115e+06, 1.27365015e+06, 1.27514915e+06, 1.27664815e+06,
1.27814715e+06, 1.27964615e+06, 1.28114515e+06, 1.28264414e+06,
1.28414314e+06, 1.28564214e+06, 1.28714114e+06, 1.28864014e+06,
1.29013914e+06, 1.29163814e+06, 1.29313714e+06, 1.29463614e+06,
1.29613514e+06, 1.29763413e+06, 1.29913313e+06, 1.30063213e+06,
1.30213113e+06, 1.30363013e+06, 1.30512913e+06, 1.30662813e+06,
1.30812713e+06, 1.30962613e+06, 1.31112513e+06, 1.31262412e+06,
1.31412312e+06, 1.31562212e+06, 1.31712112e+06, 1.31862012e+06,
1.32011912e+06, 1.32161812e+06, 1.32311712e+06, 1.32461612e+06,
1.32611512e+06, 1.32761411e+06, 1.32911311e+06, 1.33061211e+06,
1.33211111e+06, 1.33361011e+06, 1.33510911e+06, 1.33660811e+06,
1.33810711e+06, 1.33960611e+06, 1.34110511e+06, 1.34260410e+06,
1.34410310e+06, 1.34560210e+06, 1.34710110e+06, 1.34860010e+06,
1.35009910e+06, 1.35159810e+06, 1.35309710e+06, 1.35459610e+06,
1.35609510e+06, 1.35759409e+06, 1.35909309e+06, 1.36059209e+06,
1.36209109e+06, 1.36359009e+06, 1.36508909e+06, 1.36658809e+06,
1.36808709e+06, 1.36958609e+06, 1.37108509e+06, 1.37258408e+06,
1.37408308e+06, 1.37558208e+06, 1.37708108e+06, 1.37858008e+06,
1.38007908e+06, 1.38157808e+06, 1.38307708e+06, 1.38457608e+06,
1.38607508e+06, 1.38757407e+06, 1.38907307e+06, 1.39057207e+06,
1.39207107e+06, 1.39357007e+06, 1.39506907e+06, 1.39656807e+06,
1.39806707e+06, 1.39956607e+06, 1.40106507e+06, 1.40256406e+06,
1.40406306e+06, 1.40556206e+06, 1.40706106e+06, 1.40856006e+06,
1.41005906e+06, 1.41155806e+06, 1.41305706e+06, 1.41455606e+06,
1.41605506e+06, 1.41755405e+06, 1.41905305e+06, 1.42055205e+06,
1.42205105e+06, 1.42355005e+06, 1.42504905e+06, 1.42654805e+06,
1.42804705e+06, 1.42954605e+06, 1.43104505e+06, 1.43254404e+06,
1.43404304e+06, 1.43554204e+06, 1.43704104e+06, 1.43854004e+06,
1.44003904e+06, 1.44153804e+06, 1.44303704e+06, 1.44453604e+06,
1.44603504e+06, 1.44753403e+06, 1.44903303e+06, 1.45053203e+06,
1.45203103e+06, 1.45353003e+06, 1.45502903e+06, 1.45652803e+06,
1.45802703e+06, 1.45952603e+06, 1.46102503e+06, 1.46252402e+06,
1.46402302e+06, 1.46552202e+06, 1.46702102e+06, 1.46852002e+06,
1.47001902e+06, 1.47151802e+06, 1.47301702e+06, 1.47451602e+06,
1.47601502e+06, 1.47751401e+06, 1.47901301e+06, 1.48051201e+06,
1.48201101e+06, 1.48351001e+06, 1.48500901e+06, 1.48650801e+06,
1.48800701e+06, 1.48950601e+06, 1.49100501e+06, 1.49250400e+06,
1.49400300e+06, 1.49550200e+06, 1.49700100e+06, 1.49850000e+06])