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.
173 lines
6.6 KiB
173 lines
6.6 KiB
import pandas as pd
|
|
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]
|
|
|
|
# 转换为DataFrame
|
|
df = pd.DataFrame(extended_jobs)
|
|
|
|
# 按薪资排序(从高到低)
|
|
df = df.sort_values('薪资(万元/月)', ascending=False)
|
|
|
|
# 重置索引
|
|
df = df.reset_index(drop=True)
|
|
|
|
# 添加排名列
|
|
df.insert(0, '排名', range(1, len(df) + 1))
|
|
|
|
# 保存为CSV文件
|
|
df.to_csv('热门岗位人才需求分析.csv', index=False, encoding='utf-8-sig')
|
|
|
|
# 保存为Excel文件
|
|
df.to_excel('热门岗位人才需求分析.xlsx', index=False)
|
|
|
|
print(f"已生成500个热门岗位数据,保存到 '热门岗位人才需求分析.csv' 和 '热门岗位人才需求分析.xlsx'")
|
|
print("\n前20个热门岗位:")
|
|
print(df.head(20))
|