赞
踩
当前人工智能的发展愈来愈快,市场需求空间很大,为了分析开设人工智能专业的必要性,开展此项目进行具体的数据分析。通过对智联、51job、中华英才网和拉勾等企业常驻的招聘平台的招聘信息进行数据爬取及数据分析,得到的信息便能较大程度上反映出市场对某职位的需求情况及能力要求 。
import scrapy
from ..items import FiveoneItem
from scrapy.selector import Selector,HtmlXPathSelector
from scrapy.http import Request
class JobSpider(scrapy.Spider):
name = 'job'
# allowed_domains = ['example.com']
# 需爬取的内容网页
start_urls = ['https://search.51job.com/list/000000,000000,0000,00,9,99,%25E7%25AE%2597%25E6%25B3%2595%25E7%25A0%2594%25E7%25A9%25B6%25E5%2591%2598,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=']
def parse(self, response):
hxs = Selector(response=response).xpath('//div[@class="el"]')
for obj in hxs:
detailUrl = obj.xpath('.//a/@href').extract_first()
# print(detailUrl)
# title = obj.xpath('.//p[@class="t1 "]//a/@title').extract_first()
# print(title)
yield scrapy.Request(detailUrl, self.detailparse)
visited_urls = set()
# nextLink = Selector(response=response).xpath('//li[@class="bk"]/a/@href').extract()
# 51job下一页链接标签与上一页一致,直接取会因重复导致spider过早关闭无法爬完所有页面,这里改找最后一个标签
nextLink = Selector(response=response).xpath('//li[@class="bk"][last()]/a/@href').extract_first()
if nextLink is not None:
print("*******************下一页链接**************************")
print(nextLink)
yield scrapy.Request(url=nextLink, callback=self.parse)
#爬取详情页具体内容
def detailparse(self, response):
item = FiveoneItem()
hxs = Selector(response=response).xpath('//div[@class="tHeader tHjob"]')
for obj in hxs:
title = obj.xpath('.//h1/@title').extract_first()
item['title'] = title
print(title)
salary = obj.xpath('.//strong/text()').extract_first()
item['salary'] = salary
print(salary)
company = obj.xpath('.//p[@class="cname"]/a/@title').extract_first()
item['company'] = company
print(company)
tags = obj.xpath('.//p[@class="msg ltype"]/@title').extract_first()
item['tags'] = tags
print(tags)
details = Selector(response=response).xpath('//div[@class="bmsg job_msg inbox"]')
jobrequest = []
for obj in details:
detail = obj.xpath('./p/text()').extract()
for i in detail:
jobrequest.append(i)
print(jobrequest)
item['jobrequest'] = jobrequest
print('*******************')
yield(item)
这里可不编辑pipeline,settings或items,直接采用scrapy自带的持久化功能存储
#存储json格式:
scrapy crawl 项目名称 -o 项目名称.json -s FEED_EXPORT_ENCIDING=utf-8
#存储csv(表格)形式:
scrapy crawl 项目名称 -o 项目名称.csv -s FEED_EXPORT_ENCIDING=utf-8
存储后得到如下文件:
import re
import numpy as np
import pandas as pd
import matplotlib as mpl
from pyecharts import Geo
import matplotlib.pyplot as plt
from pyecharts import WordCloud
#用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
#用来正常显示负号
plt.rcParams['axes.unicode_minus']=False
a=pd.read_csv('aiall.csv')
len(a)
14383 #共14383条数据
#去除无效数据
b = a.dropna()
b.head()
company | jobrequest | salary | tags | title | |
---|---|---|---|---|---|
0 | 北京捷通华声科技股份有限公司 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 0.7-1万/月 | 北京 | 无工作经验 | 本科 | 招3人 | 08-14发布 | 人工智能训练工程师 |
2 | 寰宇优才教育科技(北京)有限公司 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 6-8千/月 | 北京-朝阳区 | 无工作经验 | 招16人 | 08-14发布 | Java+人工智能实习工程师 |
3 | 广州市润东信息科技有限公司 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 1.5-2万/月 | 广州-番禺区 | 3-4年经验 | 本科 | 招1人 | 08-14发布 | 人工智能工程师 |
4 | 江苏厚学网信息技术股份有限公司 | 岗位职责:,1. 开发软电话模块,完成与终端呼叫设备的对接;,2. 负责模块的需求分析,代码… | 10-20万/年 | 南京-秦淮区 | 3-4年经验 | 大专 | 招4人 | 08-14发布 | C++高级开发工程师(人工智能方向) |
5 | 郑州汇之众网络科技有限公司 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 6-8千/月 | 郑州 | 无工作经验 | 本科 | 招若干人 | 08-14发布 | 零基础人工智能开发实习生 |
len(b)
11834
new_tags = b['tags'].str.split('|')
new_tags.head()
0 [北京 , 无工作经验 , 本科 , 招3人 , 08-14发布]
2 [北京-朝阳区 , 无工作经验 , 招16人 , 08-14发布]
3 [广州-番禺区 , 3-4年经验 , 本科 , 招1人 , 08-1...
4 [南京-秦淮区 , 3-4年经验 , 大专 , 招4人 , 08-1...
5 [郑州 , 无工作经验 , 本科 , 招若干人 , 08-14发布]
Name: tags, dtype: object
data = new_tags.apply(pd.Series)
data.columns=['地区','经验要求','学历要求','招聘人数','发布日期','额外要求1','额外要求2']
data.head()
地区 | 经验要求 | 学历要求 | 招聘人数 | 发布日期 | 额外要求1 | 额外要求2 | |
---|---|---|---|---|---|---|---|
0 | 北京 | 无工作经验 | 本科 | 招3人 | 08-14发布 | NaN | NaN |
2 | 北京-朝阳区 | 无工作经验 | 招16人 | 08-14发布 | NaN | NaN | NaN |
3 | 广州-番禺区 | 3-4年经验 | 本科 | 招1人 | 08-14发布 | NaN | NaN |
4 | 南京-秦淮区 | 3-4年经验 | 大专 | 招4人 | 08-14发布 | NaN | NaN |
5 | 郑州 | 无工作经验 | 本科 | 招若干人 | 08-14发布 | NaN | NaN |
由于部分条目不含学历要求等信息,将这部分提出规整内容并替换为无要求
mask = data.iloc[:,2].str.contains('人')
mask.value_counts()
False 9165
True 2669
Name: 学历要求, dtype: int64
addclass = data[mask]
addclass.head()
地区 | 经验要求 | 学历要求 | 招聘人数 | 发布日期 | 额外要求1 | 额外要求2 | |
---|---|---|---|---|---|---|---|
2 | 北京-朝阳区 | 无工作经验 | 招16人 | 08-14发布 | NaN | NaN | NaN |
9 | 上海-静安区 | 无工作经验 | 招若干人 | 08-14发布 | NaN | NaN | NaN |
14 | 武汉-洪山区 | 无工作经验 | 招6人 | 08-14发布 | NaN | NaN | NaN |
21 | 郑州 | 无工作经验 | 招10人 | 08-14发布 | NaN | NaN | NaN |
28 | 南京 | 无工作经验 | 招1人 | 08-14发布 | NaN | NaN | NaN |
addclass[['发布日期', '招聘人数']] = addclass[['招聘人数', '发布日期']]
addclass[['招聘人数', '学历要求']] = addclass[['学历要求', '招聘人数']]
addclass.head()
地区 | 经验要求 | 学历要求 | 招聘人数 | 发布日期 | 额外要求1 | 额外要求2 | |
---|---|---|---|---|---|---|---|
2 | 北京-朝阳区 | 无工作经验 | NaN | 招16人 | 08-14发布 | NaN | NaN |
9 | 上海-静安区 | 无工作经验 | NaN | 招若干人 | 08-14发布 | NaN | NaN |
14 | 武汉-洪山区 | 无工作经验 | NaN | 招6人 | 08-14发布 | NaN | NaN |
21 | 郑州 | 无工作经验 | NaN | 招10人 | 08-14发布 | NaN | NaN |
28 | 南京 | 无工作经验 | NaN | 招1人 | 08-14发布 | NaN | NaN |
fin = addclass.fillna('无要求')
fin.head()
地区 | 经验要求 | 学历要求 | 招聘人数 | 发布日期 | 额外要求1 | 额外要求2 | |
---|---|---|---|---|---|---|---|
2 | 北京-朝阳区 | 无工作经验 | 无要求 | 招16人 | 08-14发布 | 无要求 | 无要求 |
9 | 上海-静安区 | 无工作经验 | 无要求 | 招若干人 | 08-14发布 | 无要求 | 无要求 |
14 | 武汉-洪山区 | 无工作经验 | 无要求 | 招6人 | 08-14发布 | 无要求 | 无要求 |
21 | 郑州 | 无工作经验 | 无要求 | 招10人 | 08-14发布 | 无要求 | 无要求 |
28 | 南京 | 无工作经验 | 无要求 | 招1人 | 08-14发布 | 无要求 | 无要求 |
data[mask]=fin
data.head()
地区 | 经验要求 | 学历要求 | 招聘人数 | 发布日期 | 额外要求1 | 额外要求2 | |
---|---|---|---|---|---|---|---|
0 | 北京 | 无工作经验 | 本科 | 招3人 | 08-14发布 | NaN | NaN |
2 | 北京-朝阳区 | 无工作经验 | 无要求 | 招16人 | 08-14发布 | 无要求 | 无要求 |
3 | 广州-番禺区 | 3-4年经验 | 本科 | 招1人 | 08-14发布 | NaN | NaN |
4 | 南京-秦淮区 | 3-4年经验 | 大专 | 招4人 | 08-14发布 | NaN | NaN |
5 | 郑州 | 无工作经验 | 本科 | 招若干人 | 08-14发布 | NaN | NaN |
df= data.fillna('无要求')
df.head()
地区 | 经验要求 | 学历要求 | 招聘人数 | 发布日期 | 额外要求1 | 额外要求2 | |
---|---|---|---|---|---|---|---|
0 | 北京 | 无工作经验 | 本科 | 招3人 | 08-14发布 | 无要求 | 无要求 |
2 | 北京-朝阳区 | 无工作经验 | 无要求 | 招16人 | 08-14发布 | 无要求 | 无要求 |
3 | 广州-番禺区 | 3-4年经验 | 本科 | 招1人 | 08-14发布 | 无要求 | 无要求 |
4 | 南京-秦淮区 | 3-4年经验 | 大专 | 招4人 | 08-14发布 | 无要求 | 无要求 |
5 | 郑州 | 无工作经验 | 本科 | 招若干人 | 08-14发布 | 无要求 | 无要求 |
df['地区'] = df['地区'].str.split('-').str[0]
df.head()
地区 | 经验要求 | 学历要求 | 招聘人数 | 发布日期 | 额外要求1 | 额外要求2 | |
---|---|---|---|---|---|---|---|
0 | 北京 | 无工作经验 | 本科 | 招3人 | 08-14发布 | 无要求 | 无要求 |
2 | 北京 | 无工作经验 | 无要求 | 招16人 | 08-14发布 | 无要求 | 无要求 |
3 | 广州 | 3-4年经验 | 本科 | 招1人 | 08-14发布 | 无要求 | 无要求 |
4 | 南京 | 3-4年经验 | 大专 | 招4人 | 08-14发布 | 无要求 | 无要求 |
5 | 郑州 | 无工作经验 | 本科 | 招若干人 | 08-14发布 | 无要求 | 无要求 |
result = b.join(df)
result.drop('tags', axis=1, inplace=True)
result = result[['title','company','salary','地区','经验要求','学历要求','招聘人数','额外要求1','额外要求2','jobrequest','发布日期']]
result.head()
title | company | salary | 地区 | 经验要求 | 学历要求 | 招聘人数 | 额外要求1 | 额外要求2 | jobrequest | 发布日期 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 0.7-1万/月 | 北京 | 无工作经验 | 本科 | 招3人 | 无要求 | 无要求 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 6-8千/月 | 北京 | 无工作经验 | 无要求 | 招16人 | 无要求 | 无要求 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 1.5-2万/月 | 广州 | 3-4年经验 | 本科 | 招1人 | 无要求 | 无要求 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 |
4 | C++高级开发工程师(人工智能方向) | 江苏厚学网信息技术股份有限公司 | 10-20万/年 | 南京 | 3-4年经验 | 大专 | 招4人 | 无要求 | 无要求 | 岗位职责:,1. 开发软电话模块,完成与终端呼叫设备的对接;,2. 负责模块的需求分析,代码… | 08-14发布 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 6-8千/月 | 郑州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 |
result.info()
<class 'pandas.core.frame.DataFrame'> Int64Index: 11834 entries, 0 to 14379 Data columns (total 11 columns): title 11834 non-null object company 11834 non-null object salary 11834 non-null object 地区 11834 non-null object 经验要求 11834 non-null object 学历要求 11834 non-null object 招聘人数 11834 non-null object 额外要求1 11834 non-null object 额外要求2 11834 non-null object jobrequest 11834 non-null object 发布日期 11834 non-null object dtypes: object(11) memory usage: 1.4+ MB
这里的问题比较复杂,因51job提供的薪资单位有 万/年,万/月,千/月,元/日,元/时等多种单位,这里由于按日和按时计算的不清具体工作时长,取 万/年,万/月,千/月统一化为月薪来进行数据处理 并添加最低月薪,平均月薪,最高月薪字段
mask = result['salary'].str.contains('年')
year_salary = result[mask]
month_salary = result[~mask]
year_salary.salary
4 10-20万/年 6 8-18万/年 60 30-50万/年 63 15-60万/年 71 40-60万/年 79 10-15万/年 102 15-20万/年 115 30-60万/年 143 20-30万/年 150 15-20万/年 164 40-50万/年 174 30-40万/年 179 24-42万/年 181 15-20万/年 190 50-60万/年 202 30-50万/年 224 30-40万/年 236 35-50万/年 241 40-50万/年 258 12-30万/年 261 10-30万/年 294 20-30万/年 333 20-30万/年 336 30-40万/年 344 30-40万/年 346 20-25万/年 358 15-20万/年 389 30-40万/年 396 15-20万/年 398 20-30万/年 ... Name: salary, Length: 831, dtype: object
y_s = year_salary['salary'].str.split('万')
y_s = y_s.apply(pd.Series)
y_s = y_s[0].str.split('-').apply(pd.Series)
y_s = y_s.astype(float)
y_salary = y_s.mean(axis=1)*10000/12
min_salary_y = y_s[0]*10000/12
min_salary_y
4 8333.333333 6 6666.666667 60 25000.000000 63 12500.000000 71 33333.333333 79 8333.333333 102 12500.000000 115 25000.000000 143 16666.666667 150 12500.000000 164 33333.333333 174 25000.000000 179 20000.000000 181 12500.000000 190 41666.666667 202 25000.000000 224 25000.000000 236 29166.666667 241 33333.333333 258 10000.000000 261 8333.333333 294 16666.666667 333 16666.666667 336 25000.000000 344 25000.000000 346 16666.666667 358 12500.000000 389 25000.000000 396 12500.000000 398 16666.666667 ... Name: 0, Length: 831, dtype: float64
max_salary_y = y_s[1]*10000/12
max_salary_y
4 16666.666667 6 15000.000000 60 41666.666667 63 50000.000000 71 50000.000000 79 12500.000000 102 16666.666667 115 50000.000000 143 25000.000000 150 16666.666667 164 41666.666667 174 33333.333333 179 35000.000000 181 16666.666667 190 50000.000000 202 41666.666667 224 33333.333333 236 41666.666667 241 41666.666667 258 25000.000000 261 25000.000000 294 25000.000000 333 25000.000000 336 33333.333333 344 33333.333333 346 20833.333333 358 16666.666667 389 33333.333333 396 16666.666667 398 25000.000000 ... Name: 1, Length: 831, dtype: float64
year_salary.salary = y_salary
result[mask] = year_salary
result['min_salary'] = min_salary_y
result['max_salary'] = max_salary_y
result.head()
title | company | salary | 地区 | 经验要求 | 学历要求 | 招聘人数 | 额外要求1 | 额外要求2 | jobrequest | 发布日期 | min_salary | max_salary | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 0.7-1万/月 | 北京 | 无工作经验 | 本科 | 招3人 | 无要求 | 无要求 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 | NaN | NaN |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 6-8千/月 | 北京 | 无工作经验 | 无要求 | 招16人 | 无要求 | 无要求 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 | NaN | NaN |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 1.5-2万/月 | 广州 | 3-4年经验 | 本科 | 招1人 | 无要求 | 无要求 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 | NaN | NaN |
4 | C++高级开发工程师(人工智能方向) | 江苏厚学网信息技术股份有限公司 | 12500 | 南京 | 3-4年经验 | 大专 | 招4人 | 无要求 | 无要求 | 岗位职责:,1. 开发软电话模块,完成与终端呼叫设备的对接;,2. 负责模块的需求分析,代码… | 08-14发布 | 8333.333333 | 16666.666667 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 6-8千/月 | 郑州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 | NaN | NaN |
mask1 = month_salary.salary.str.contains('万')
wan = month_salary[mask1]
qian = month_salary[~mask1]
wan_s = wan['salary'].str.split('万')
wan_s = wan_s.apply(pd.Series)
wan_s = wan_s[0].str.split('-').apply(pd.Series)
wan_s = wan_s.astype(float)
mon_salary1 = wan_s.mean(axis=1)*10000
mon_salary1
0 8500.0 3 17500.0 8 8500.0 9 35000.0 12 13500.0 13 45000.0 15 8000.0 16 40000.0 20 9000.0 24 22500.0 25 12500.0 27 17500.0 30 35000.0 31 12500.0 32 12500.0 34 9000.0 35 9000.0 37 22500.0 38 12500.0 41 11500.0 43 15000.0 45 15000.0 48 17500.0 49 17500.0 52 20000.0 53 22500.0 54 24000.0 55 17500.0 56 15000.0 57 22500.0 ... Length: 8055, dtype: float64
wan['salary'] = mon_salary1
month_salary[mask1] = wan
month_salary.head()
title | company | salary | 地区 | 经验要求 | 学历要求 | 招聘人数 | 额外要求1 | 额外要求2 | jobrequest | 发布日期 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 8500 | 北京 | 无工作经验 | 本科 | 招3人 | 无要求 | 无要求 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 6-8千/月 | 北京 | 无工作经验 | 无要求 | 招16人 | 无要求 | 无要求 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 17500 | 广州 | 3-4年经验 | 本科 | 招1人 | 无要求 | 无要求 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 6-8千/月 | 郑州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 |
7 | 人工智能训练师 | 北京捷通华声科技股份有限公司广州分公司 | 5-8千/月 | 广州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;,2.收集客户的产品与服务知识库… | 08-14发布 |
min_wan = wan_s[0]*10000
max_wan = wan_s[1]*10000
month_salary['min_salary'] = min_wan
month_salary['max_salary'] = max_wan
month_salary.head()
title | company | salary | 地区 | 经验要求 | 学历要求 | 招聘人数 | 额外要求1 | 额外要求2 | jobrequest | 发布日期 | min_salary | max_salary | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 8500 | 北京 | 无工作经验 | 本科 | 招3人 | 无要求 | 无要求 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 | 7000.0 | 10000.0 |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 6-8千/月 | 北京 | 无工作经验 | 无要求 | 招16人 | 无要求 | 无要求 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 | NaN | NaN |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 17500 | 广州 | 3-4年经验 | 本科 | 招1人 | 无要求 | 无要求 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 | 15000.0 | 20000.0 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 6-8千/月 | 郑州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 | NaN | NaN |
7 | 人工智能训练师 | 北京捷通华声科技股份有限公司广州分公司 | 5-8千/月 | 广州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;,2.收集客户的产品与服务知识库… | 08-14发布 | NaN | NaN |
mask2 = qian['salary'].str.contains('千')
qian1 = qian[mask2]
day = qian[~mask2]
qian_s = qian1['salary'].str.split('千')
qian_s = qian_s.apply(pd.Series)
qian_s = qian_s[0].str.split('-').apply(pd.Series)
qian_s = qian_s.astype(float)
mon_salary2 = qian_s.mean(axis=1)*1000
qian1['salary'] = mon_salary2
qian[mask2] = qian1
month_salary[~mask1] = qian
min_qian = qian_s[0]*1000
max_qian = qian_s[1]*1000
mask5 = month_salary['min_salary'].isnull()
mon_qian = month_salary[mask5]
mon_qian.head()
title | company | salary | 地区 | 经验要求 | 学历要求 | 招聘人数 | 额外要求1 | 额外要求2 | jobrequest | 发布日期 | min_salary | max_salary | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 7000 | 北京 | 无工作经验 | 无要求 | 招16人 | 无要求 | 无要求 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 | NaN | NaN |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 7000 | 郑州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 | NaN | NaN |
7 | 人工智能训练师 | 北京捷通华声科技股份有限公司广州分公司 | 6500 | 广州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;,2.收集客户的产品与服务知识库… | 08-14发布 | NaN | NaN |
10 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司成都分公司 | 6500 | 成都 | 无工作经验 | 本科 | 招1人 | 无要求 | 无要求 | 职位描述:,1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;,2.收集客户的产品… | 08-14发布 | NaN | NaN |
11 | AI人工智能电话销售专员 | 武汉智生粉科技有限公司 | 7000 | 武汉 | 1年经验 | 大专 | 招5人 | 无要求 | 无要求 | 本公司是做AI电销机器人的,智能语音,为企业节约人力财力,更好的寻找客户,目前有很大的发展空… | 08-14发布 | NaN | NaN |
mon_qian['min_salary'] = min_qian
mon_qian['max_salary'] = max_qian
month_salary[mask5] = mon_qian
month_salary.head()
title | company | salary | 地区 | 经验要求 | 学历要求 | 招聘人数 | 额外要求1 | 额外要求2 | jobrequest | 发布日期 | min_salary | max_salary | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 8500 | 北京 | 无工作经验 | 本科 | 招3人 | 无要求 | 无要求 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 | 7000.0 | 10000.0 |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 7000 | 北京 | 无工作经验 | 无要求 | 招16人 | 无要求 | 无要求 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 | 6000.0 | 8000.0 |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 17500 | 广州 | 3-4年经验 | 本科 | 招1人 | 无要求 | 无要求 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 | 15000.0 | 20000.0 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 7000 | 郑州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 | 6000.0 | 8000.0 |
7 | 人工智能训练师 | 北京捷通华声科技股份有限公司广州分公司 | 6500 | 广州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;,2.收集客户的产品与服务知识库… | 08-14发布 | 5000.0 | 8000.0 |
result[~mask] = month_salary
result.head()
title | company | salary | 地区 | 经验要求 | 学历要求 | 招聘人数 | 额外要求1 | 额外要求2 | jobrequest | 发布日期 | min_salary | max_salary | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 8500 | 北京 | 无工作经验 | 本科 | 招3人 | 无要求 | 无要求 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 | 7000.000000 | 10000.000000 |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 7000 | 北京 | 无工作经验 | 无要求 | 招16人 | 无要求 | 无要求 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 | 6000.000000 | 8000.000000 |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 17500 | 广州 | 3-4年经验 | 本科 | 招1人 | 无要求 | 无要求 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 | 15000.000000 | 20000.000000 |
4 | C++高级开发工程师(人工智能方向) | 江苏厚学网信息技术股份有限公司 | 12500 | 南京 | 3-4年经验 | 大专 | 招4人 | 无要求 | 无要求 | 岗位职责:,1. 开发软电话模块,完成与终端呼叫设备的对接;,2. 负责模块的需求分析,代码… | 08-14发布 | 8333.333333 | 16666.666667 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 7000 | 郑州 | 无工作经验 | 本科 | 招若干人 | 无要求 | 无要求 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 | 6000.000000 | 8000.000000 |
result.salary = result.salary.astype(str)
mask4 = result.salary.str.contains('元')
mask4.value_counts()
False 11741
True 93
Name: salary, dtype: int64
result = result[~mask4]
result.salary = result.salary.astype(float)
result.rename(columns={'salary':'ave_salary','地区':'workspace','经验要求':'experienceRequirement','学历要求':'educationRequirement','招聘人数':'recruits',
'jobrequest':'jobRequirement','发布日期':'publishTime'},inplace=True)
result.drop(['额外要求1','额外要求2'], axis=1, inplace=True)
result.head()
title | company | ave_salary | workspace | experienceRequirement | educationRequirement | recruits | jobRequirement | publishTime | min_salary | max_salary | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 8500.0 | 北京 | 无工作经验 | 本科 | 招3人 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 | 7000.000000 | 10000.000000 |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 7000.0 | 北京 | 无工作经验 | 无要求 | 招16人 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 | 6000.000000 | 8000.000000 |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 17500.0 | 广州 | 3-4年经验 | 本科 | 招1人 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 | 15000.000000 | 20000.000000 |
4 | C++高级开发工程师(人工智能方向) | 江苏厚学网信息技术股份有限公司 | 12500.0 | 南京 | 3-4年经验 | 大专 | 招4人 | 岗位职责:,1. 开发软电话模块,完成与终端呼叫设备的对接;,2. 负责模块的需求分析,代码… | 08-14发布 | 8333.333333 | 16666.666667 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 7000.0 | 郑州 | 无工作经验 | 本科 | 招若干人 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 | 6000.000000 | 8000.000000 |
result = result[['title','company','min_salary','ave_salary','max_salary','workspace','experienceRequirement','educationRequirement','recruits','jobRequirement','publishTime']]
result.head()
title | company | min_salary | ave_salary | max_salary | workspace | experienceRequirement | educationRequirement | recruits | jobRequirement | publishTime | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 人工智能训练工程师 | 北京捷通华声科技股份有限公司 | 7000.000000 | 8500.0 | 10000.000000 | 北京 | 无工作经验 | 本科 | 招3人 | 职位描述:, 1.负责智能机器人知识库的建设,保证机器人智能问答的准确率;… | 08-14发布 |
2 | Java+人工智能实习工程师 | 寰宇优才教育科技(北京)有限公司 | 6000.000000 | 7000.0 | 8000.000000 | 北京 | 无工作经验 | 无要求 | 招16人 | 【岗位方向】:,1、 Java+大数据软件开发工程师实习生,2、 人工智能+Python开发… | 08-14发布 |
3 | 人工智能工程师 | 广州市润东信息科技有限公司 | 15000.000000 | 17500.0 | 20000.000000 | 广州 | 3-4年经验 | 本科 | 招1人 | 1. 研究机器学习、深度学习等领域的前沿技术并结合业务场景解决实际问题;,2. 通过对数据的… | 08-14发布 |
4 | C++高级开发工程师(人工智能方向) | 江苏厚学网信息技术股份有限公司 | 8333.333333 | 12500.0 | 16666.666667 | 南京 | 3-4年经验 | 大专 | 招4人 | 岗位职责:,1. 开发软电话模块,完成与终端呼叫设备的对接;,2. 负责模块的需求分析,代码… | 08-14发布 |
5 | 零基础人工智能开发实习生 | 郑州汇之众网络科技有限公司 | 6000.000000 | 7000.0 | 8000.000000 | 郑州 | 无工作经验 | 本科 | 招若干人 | 1、热爱编程事业,热衷IT行业;, 2、本科以上学历,计算机及理工类专业优先;, 3、认真遵… | 08-14发布 |
result.to_csv('ai.csv')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。