大模型岗位招聘数据分析及可视化
本文提供的数据文件为CSV格式文件,约有5000条招聘信息,共10个字段,岗位名称,工作地点,岗位薪资,经验要求,学历要求,岗位标签,企业名称,企业行业,企业规模,融资状况。本文分别对每个字段进行数据分析和可视化。
数据入口:大模型相关岗位招聘数据集 - Heywhale.com
一:数据介绍
首先预览提供的数据,数据文件为CSV格式文件,约有5000条招聘信息,共10个字段,岗位名称,工作地点,岗位薪资,经验要求,学历要求,岗位标签,企业名称,企业行业,企业规模,融资状况。可以分别对每个字段进行数据分析。数据大致如下:
首先导入所需的库:
import matplotlib.pyplot as plt # 首先导入matplotlib.pyplot
# 配置matplotlib支持中文显示
plt.rcParams['font.sans-serif'] = ['SimHei'] # 'SimHei'是黑体的字体名称
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['axes.unicode_minus'] = False
import pandas as pd # 然后导入pandas
import seaborn as sns # 最后导入seaborn
然后读取数据基本详情:
# 读取文件
df = pd.read_csv('大模型岗位信息.csv')
print('数据基本信息:')
df.info()
可以看出数据无空缺值。
二:平均薪资分布
由于岗位薪资的数据不太规划,可以先进行数据预处理求出平均薪资:
# 仅保留岗位薪资范围
df["岗位薪资"] = df["岗位薪资"].map(lambda x:x.split("·")[0])
# 计算平均薪资
def Calculate_average_salary(Salary_Range):
if Salary_Range not in ["薪资面议","面议"]:
minSalary, maxSalary = int(Salary_Range.split("-")[0]), int(Salary_Range.split("-")[-1][:-1])
avgSalary = (minSalary + maxSalary) / 2
else:
avgSalary = None
return avgSalary
df["平均薪资"] = df["岗位薪资"].map(lambda x:Calculate_average_salary(x))
然后根据“平均薪资”一列进行数据预处理:
# 使用seaborn创建直方图
sns.histplot(df['平均薪资'], bins=10, kde=True) # kde参数为True表示添加核密度估计曲线
# 添加标题和标签
plt.xlabel('薪资(元)')
plt.ylabel('频数')
plt.title('薪资分布')
# 显示图形
plt.show()
从上述图发现大多数大模型相关岗位的平均月薪资分布在100K以内
三:更多的数据分析可视化
工作地点的数量与薪资分布
为了避免重复,后续一些代码在附录中。
可以看出大部分大模型产业在上海,北京,深圳的平均薪资较高。
四:学历要求的数量与薪资分析
可以看出对学历要求较多的是硕士,本科和统招本科,学历越高一般平均薪资越高。
五:经验要求的数量与薪资分布
大部分企业的要求是在1-3年或10年以上。所有一般需要有经验的人员。
六:企业规模与融资情况分布
可以看出大部分大模型企业都是10000人以上的大型公司。
七:热门行业的薪资分布
可以看出大模型岗位行业集中在IT服务,互联网,人工智能,计算机软件和通信设备。
四:岗位要求的词云图
import pandas as pd
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 将岗位名称列的数据转换为字符串类型
text = ' '.join(df['岗位名称'].astype(str))
# 指定中文字体,前提要求是有该'wqy-zenhei.ttc'字体文件。
font_path = 'wqy-zenhei.ttc'
# 创建词云对象
wordcloud = WordCloud(width=800, height=400, background_color='white', font_path=font_path).generate(text)
# 绘制词云图
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
绘制的关于岗位要求的词云图如下:
想要探索更多元化的数据分析视角,可以关注之前发布的相关内容。
五:附录(三、四、五、六、七代码)
三:
# 仅保留工作城市
df["工作地点"] = df["工作地点"].map(lambda x:x.split("-")[0])
# 使用seaborn创建直方图
sns.histplot(df['工作地点'], bins=10, kde=True) # kde参数为True表示添加核密度估计曲线
# 添加标题和标签
plt.xlabel('不同工作地点')
plt.ylabel('频数')
plt.title('工作地点分布')
# 显示图形
plt.show()
average_salary_by_location = df.groupby('工作地点')['平均薪资'].mean().reset_index()
plt.figure(figsize=(10, 6))
plt.bar(average_salary_by_location['工作地点'], average_salary_by_location['平均薪资'], color='skyblue')
plt.xlabel('工作地点')
plt.ylabel('平均薪资 (k)')
plt.title('不同地点的平均薪资')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
四,五,六,七的代码入口:
代码 - 飞书云文档 (feishu.cn)
更多推荐
所有评论(0)