You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
6.8 KiB
171 lines
6.8 KiB
import csv
|
|
import random
|
|
|
|
# 基础岗位数据
|
|
hot_jobs = [
|
|
# 人工智能相关岗位
|
|
('架构师', 5.84, '硕士及以上'),
|
|
('机器学习工程师', 4.66, '硕士及以上'),
|
|
('深度学习工程师', 4.47, '硕士及以上'),
|
|
('算法工程师', 4.46, '硕士及以上'),
|
|
('系统工程师', 4.16, '本科及以上'),
|
|
('大模型算法工程师', 2.48, '硕士及以上'),
|
|
('智能驾驶系统工程师', 2.11, '本科及以上'),
|
|
|
|
# IT相关岗位
|
|
('Java开发工程师', 1.85, '本科及以上'),
|
|
('前端开发工程师', 1.51, '本科及以上'),
|
|
('Python开发工程师', 1.79, '本科及以上'),
|
|
('嵌入式软件开发工程师', 1.86, '本科及以上'),
|
|
('C/C++开发工程师', 2.01, '本科及以上'),
|
|
('数据开发工程师', 1.60, '本科及以上'),
|
|
('运维工程师', 0.99, '本科及以上'),
|
|
('网络工程师', 0.99, '本科及以上'),
|
|
('硬件工程师', 1.62, '本科及以上'),
|
|
('UI设计师', 0.79, '本科及以上'),
|
|
('产品经理', 1.77, '本科及以上'),
|
|
|
|
# 半导体相关岗位
|
|
('模拟芯片设计工程师', 3.10, '硕士及以上'),
|
|
('半导体设备工程师', 1.21, '本科及以上'),
|
|
('电子工程师', 1.06, '本科及以上'),
|
|
|
|
# 医药相关岗位
|
|
('制剂研发师', 1.30, '硕士及以上'),
|
|
('医药化学分析师', 1.06, '本科及以上'),
|
|
('医学信息专员', 1.03, '本科及以上'),
|
|
('医药代表', 0.94, '大专及以上'),
|
|
|
|
# 新能源相关岗位
|
|
('涂料研发', 1.22, '硕士及以上'),
|
|
('材料工艺工程师', 1.11, '本科及以上'),
|
|
('风电工程师', 1.01, '本科及以上'),
|
|
('电力工程师', 0.88, '本科及以上'),
|
|
|
|
# 高端装备制造相关岗位
|
|
('机械结构工程师', 1.39, '本科及以上'),
|
|
('机械工艺工程师', 1.02, '本科及以上'),
|
|
('CNC/数控编程', 0.96, '大专及以上'),
|
|
|
|
# 其他热门岗位
|
|
('电气工程师', 1.09, '本科及以上'),
|
|
('自动化工程师', 1.04, '本科及以上'),
|
|
('新媒体运营', 0.87, '大专及以上'),
|
|
('国内电商运营', 0.92, '大专及以上'),
|
|
('短视频运营', 0.72, '大专及以上'),
|
|
('网络销售员', 1.04, '高中及以上'),
|
|
('设备维护工程师', 0.93, '大专及以上'),
|
|
('硬件测试工程师', 1.07, '本科及以上'),
|
|
('CAD设计/制图工程师', 0.75, '大专及以上'),
|
|
('电子/电器维修/保养工程师', 0.82, '高中及以上'),
|
|
('数据分析师', 1.20, '本科及以上'),
|
|
('IT项目经理', 1.81, '本科及以上'),
|
|
('3D设计师', 0.91, '大专及以上'),
|
|
('IT技术/研发总监', 3.13, '硕士及以上'),
|
|
('移动开发工程师', 1.77, '本科及以上'),
|
|
('药品生产/质量管理员', 0.73, '大专及以上'),
|
|
('药店店员', 0.47, '高中及以上'),
|
|
('康复治疗师', 0.74, '本科及以上'),
|
|
('化验/检验员', 0.55, '大专及以上'),
|
|
('医疗器械维修/保养员', 0.70, '大专及以上'),
|
|
('医学检验师', 0.58, '本科及以上'),
|
|
('核力/火力工程师', 0.96, '本科及以上'),
|
|
('热能工程师', 1.09, '本科及以上'),
|
|
('CNC/数控操作', 0.84, '高中及以上'),
|
|
('机器人调试工程师', 0.97, '大专及以上'),
|
|
|
|
# 国家统计局数据中的岗位
|
|
('中层及以上管理人员', 1.69, '本科及以上'),
|
|
('专业技术人员', 1.23, '本科及以上'),
|
|
('办事人员和有关人员', 0.78, '大专及以上'),
|
|
('社会生产服务和生活服务人员', 0.65, '高中及以上'),
|
|
('生产制造及有关人员', 0.65, '高中及以上'),
|
|
|
|
# 湖南省人社厅数据中的紧缺职业
|
|
('纺织针织印染人员', 0.8, '初中及以上'),
|
|
('商品营业员', 0.6, '初中及以上'),
|
|
('生产辅助人员', 0.7, '初中及以上'),
|
|
('营销员', 0.9, '高中及以上'),
|
|
('家政服务员', 0.6, '初中及以上'),
|
|
|
|
# 应急管理相关岗位
|
|
('安全工程师', 1.5, '本科及以上'),
|
|
('应急救援员', 0.8, '高中及以上'),
|
|
('消防设施操作员', 0.7, '初中及以上'),
|
|
('风险评估专员', 1.2, '本科及以上'),
|
|
('企业安全主管', 1.8, '本科及以上'),
|
|
|
|
# 养老护理相关岗位
|
|
('养老护理员', 0.8, '初中及以上'),
|
|
('康复护理员', 1.0, '大专及以上'),
|
|
('老年社工', 0.9, '本科及以上'),
|
|
|
|
# 其他行业岗位
|
|
('教师', 0.8, '本科及以上'),
|
|
('护士', 0.7, '大专及以上'),
|
|
('医生', 1.5, '硕士及以上'),
|
|
('律师', 1.2, '本科及以上'),
|
|
('会计师', 0.9, '本科及以上'),
|
|
('建筑师', 1.8, '本科及以上'),
|
|
('土木工程师', 1.0, '本科及以上'),
|
|
('市场营销经理', 1.2, '本科及以上'),
|
|
('人力资源经理', 1.0, '本科及以上'),
|
|
('财务经理', 1.2, '本科及以上'),
|
|
]
|
|
|
|
# 扩展岗位列表到500个
|
|
extended_jobs = []
|
|
|
|
# 为每个基础岗位创建多个变体
|
|
for job, salary, education in hot_jobs:
|
|
variations = [
|
|
job,
|
|
f'高级{job}',
|
|
f'{job}(资深)',
|
|
f'{job}(专家)',
|
|
f'{job}(主管)'
|
|
]
|
|
for var in variations:
|
|
# 为每个变体生成不同薪资水平
|
|
for i in range(3):
|
|
salary_variation = salary * (0.8 + i * 0.2)
|
|
extended_jobs.append({
|
|
'岗位名称': var,
|
|
'薪资(万元/月)': round(salary_variation, 2),
|
|
'学历要求': education
|
|
})
|
|
|
|
# 确保有500个岗位
|
|
while len(extended_jobs) < 500:
|
|
job, salary, education = random.choice(hot_jobs)
|
|
random_salary = salary * random.uniform(0.7, 1.3)
|
|
extended_jobs.append({
|
|
'岗位名称': job,
|
|
'薪资(万元/月)': round(random_salary, 2),
|
|
'学历要求': education
|
|
})
|
|
|
|
# 只保留前500个岗位
|
|
extended_jobs = extended_jobs[:500]
|
|
|
|
# 按薪资排序(从高到低)
|
|
extended_jobs.sort(key=lambda x: x['薪资(万元/月)'], reverse=True)
|
|
|
|
# 保存为CSV文件
|
|
with open('热门岗位人才需求分析.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:
|
|
fieldnames = ['排名', '岗位名称', '薪资(万元/月)', '学历要求']
|
|
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
|
writer.writeheader()
|
|
|
|
for i, job in enumerate(extended_jobs, 1):
|
|
writer.writerow({
|
|
'排名': i,
|
|
'岗位名称': job['岗位名称'],
|
|
'薪资(万元/月)': job['薪资(万元/月)'],
|
|
'学历要求': job['学历要求']
|
|
})
|
|
|
|
print(f"已生成500个热门岗位数据,保存到 '热门岗位人才需求分析.csv'")
|
|
print("\n前20个热门岗位:")
|
|
for i, job in enumerate(extended_jobs[:20], 1):
|
|
print(f"{i}. {job['岗位名称']}, {job['薪资(万元/月)']}万元/月, {job['学历要求']}")
|
|
|