武汉数据分析岗位分析(51Job)
目录
前言...................................................................................................................................................
1.分析目的.......................................................................................................................................
2.理解数据.......................................................................................................................................
2.1 导入数据.................................................................................................................................
2.2 数据概况.................................................................................................................................
3.分析数据.......................................................................................................................................
3.1 15K以下岗位分析..................................................................................................................
3.2 15K以上岗位分析..................................................................................................................
4.主要结论.......................................................................................................................................
前言:数据来源于前程无忧(51Job),使用python爬虫,原始数据共250条,删除与数据分析无关、以及薪酬缺失数据,最后共计231条数据,然后使用notebook进行分析。
1.分析目的
(1)武汉数据分析岗位薪酬水平;
(2)武汉数据分析岗位区域分布情况。
2.理解数据
(1)导入数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df =pd.read_csv("E:/Data/51Job.csv")
df.head()
#删除无关列
x=[0,13,14,15,16,17]
df.drop(df.columns[x],axis=1,inplace=True)
df.head()
(2)数据基本情况分析
#查看数据基本情况
df.info()
共计231条数据,各个字段没有缺失项。
#查看数据基本统计信息
df.describe()
薪资-中位数(千/月)最大值和最小值差距较大,查看该列分布(如下图所示):
df["薪资-中位数(千/月)"].plot(kind="hist",title="salary of data")
plt.show()
呈现明显的正偏态分布,薪资水平主要分布于[5K,10K]。
#箱型图查看极端值
plt.rcParams['font.sans-serif']=['SimHei']
df_salary=df["薪资-中位数(千/月)"]
df_salary.plot(kind="box",title="salary of data")
# font={"size":15}
# plt.xlabel("薪资-中位数(千/月)",font)
plt.show()
按照箱型图的标准,大于15k属于极端值,查看大于15k的岗位信息:
df[df["薪资-中位数(千/月)"]>=15]
条目较多,而且可以发现很多岗位偏向高级数据分析、大数据分析和数据分析工程师等,属于数据分析高阶岗位,对专业和能力要求较高,与其较高的薪资待遇相吻合。查看具体条目信息:
df[df["薪资-中位数(千/月)"]>=15]["薪资-中位数(千/月)"].value_counts()
接近20条,在总计231条职位信息中,占据比重不大,但对总体薪资水平的影响很大,为了客观反映真实情况,对原始数据进行分段处理(即小于15k和大于15k)。
3.分析数据
(1)小于15K岗位
df_less15k=df[df["薪资-中位数(千/月)"]<15]
df_less15k=df_less15k.reset_index(drop="index")
df_less15k.head()
#查看基本信息
df_less15k.info()
共计210条数据;
#基本统计信息
df_less15k.describe()
平均薪资为6.79K
#薪资分布
df_less15k["薪资-中位数(千/月)"].plot(kind="hist",title="salary of Data less than 15K")
plt.show()
两个比较集中的区间:5K-7K和9K和11K,这或许也代表了数据分析岗位的两个不同发展阶段(初级数据分析师和中级数据分析师),结合前面15K分割点,猜测数据分析师职业发展大致可以分为三个阶段:初级、中级和高级。对应的薪资水平分别位于[5K-7K]、[9K-11K]、13~15K及以上。
#不同区域岗位信息
df_less_area=df_less15k.groupby("区域")
df_less_area_mean=df_less_area["薪资-中位数(千/月)"].agg(np.mean)
df_less_area_mean=df_area_mean.sort_values(ascending=True)#升序排列
df_less_area_mean
#薪酬排序可视化
df_less_area_mean.plot(kind="barh",color="RED")
plt.show()
薪酬排名前三的分别是:蔡甸区、江夏区和东西湖区。
#不同区数据分析岗位需求
df_less_area_count=df_less15k["区域"].value_counts().sort_values()
df_less_area_count
可以发现洪山、武昌和江汉区的岗位需求最多,而薪酬排名第一的蔡甸区只有1条招聘信息、江夏区为6条、东西湖区为5条,说明该这些地区招聘数据分析岗位需求不大,但是平均薪酬很高,可以具体看下是哪些公司:
df_less15k[df_less15k["区域"]=="蔡甸区"]
df_less15k[df_less15k["区域"]=="江夏区"]
df_less15k[df_less15k["区域"]=="东西湖区"]
#招聘需求可视化
df_less_area_count.plot(kind="barh",title="Number of Job recruitment of less15K")
plt.show()
(2)大于15K岗位
df_more15k=df[df["薪资-中位数(千/月)"]>=15]
df_more15k=df_more15k.reset_index(drop=True)
df_more15k.head()
#查看基本信息
df_more15k.info()
共计21条数据。
#查看基本统计信息
平均薪资为19.24K。
#薪资分布
df_more15k["薪资-中位数(千/月)"].plot(kind="hist",title="salary of Data more than 15K")
plt.show()
大部分位于15K-20K左右
#不同区薪酬信息
df_more_area=df_more15k.groupby("区域")
df_more_area_mean=df_more_area["薪资-中位数(千/月)"].agg(np.mean)
df_more_area_mean=df_more_area_mean.sort_values(ascending=True)#升序排列
df_more_area_mean
#薪酬信息可视化
df_more_area_mean.plot(kind="barh")
plt.show()
薪酬排名前三的分别是:武昌区、江夏区和江汉区。
#不同区岗位需求信息
df_more_area_count=df_more15k["区域"].value_counts().sort_values()
df_more_area_count
#岗位需求可视化
df_more_area_count.plot(kind="barh",title="Number of Job recruitment of more15K")
plt.show()
招聘需求最大的是洪山区、异地和武昌区。
4. 主要结论
- 15K以下招聘岗位210条,平均薪酬6.79K,15K及以上招聘岗位21条,平均薪酬19.24K;
- 15K以下薪酬排名前三分别是蔡甸区(9.00)、江夏区(7.96)和东西胡区(7.55),但招聘需求较少,分别为1条、6条和5条;15K以上薪酬排名前三分别是武昌区(26.25)、江夏区(22.50)和江汉区(21.04),招聘需求分别为2,1,2;
- 15K以下招聘需求最大的区分别是洪山区、武昌区和江汉区,招聘岗位分别是58、28、16;15K以上招聘需求排名前三分别是洪山区、异地招聘和武昌区(总体差别不大,不过考虑到总体本身较小,可以理解);
- 分析薪酬整体分布形态发现,可以大致分为三个层级,分别是13~15K及以上、9~11K和5~7K,据此推测目前数据分析岗位根据能力水平差异,大致分为三个级别,分别对应高级数据分析师、中级数据分析师和初级数据分析师。