拉勾网招聘信息分析(三)

关于招聘信息简单分析第三弹,对招聘信息中融资情况、工作经验、学历要求和薪酬之间的关系进行简单分析和数据可视化操作(本例中数据主要集中为Python相关职位分析)

分析工具

import pandas as pd
from pyecharts import Boxplot
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv("数据文件")
# matplotlib 中文显示设置
plt.rcParams['font.sans-serif']=['SimHei']
# 取平均值为薪酬值
def avg_salary(salary):
    salary_list = salary.split('-')
    salary_min = salary_list[0][:-1]
    salary_max = salary_list[1][:-1]
    return (int(salary_min)+int(salary_max))/2.0

北京部分区县薪酬比较

薪酬和区域之间关系数据处理

df["salary_avg"] = df["工资"].apply(avg_salary).astype(int)
groupy_by_dist = df.groupby(["区域"])["salary_avg"]
count_by_dist = df.groupby(['区域'])['区域'].count()
df_dist =[]
for group in count_by_dist.index:
    v = groupy_by_dist.get_group(group).values
    df_dist.append(v)
  • seaborn工具实现数据展示
ax = plt.figure(figsize=(10, 6)).add_subplot(111)
sns.boxplot(data=df_dist)
ax.set_xticklabels(count_by_dist.index, rotation=-30,fontsize=18)
ax.set_title('北京部分地区薪酬比较', fontsize=22)
ax.set_ylabel('薪酬K/月', fontsize=20)
plt.savefig('北京部分地区薪酬比较', bbox_inches='tight')
plt.show()
  • pycharts工具实现数据展示
boxplot = Boxplot("北京部分城区薪酬比较")
boxplot.use_theme("dark")
_yaxis = boxplot.prepare_data(df_dist)
boxplot.add("",count_by_dist.index , _yaxis,is_area_show=True,yaxis_name="薪酬(k/月)",is_label_show=True,
            is_axisline_show=True,is_fill=True,mark_point=["max","min","average"])
boxplot.render()
北京部分地区薪酬比较
北京部分地区薪酬比较

朝阳区薪酬最高,海淀区紧跟其后。并且北京各区Python职位薪资水平普遍还是较高的,薪酬分布最大值为25k(石景山区)、最小值为2K(海淀区)、平均值为11K(东城区)。

不同工作经验的薪酬情况

薪酬和工作经验之间关系数据处理

count_by_experience = df.groupby(['工作经验'])['工作经验'].count()
value_by_experience = pd.DataFrame([count_by_experience.index, count_by_experience.values], index = ['experience', 'counts']).T
sort_by_experience = value_by_experience.copy()
mappings = {'应届毕业生':1, '1年以下':2, '1-3年':3, '3-5年':4, '5-10年':5, '10年以上':6,'不限':7}
sort_by_experience['sortby'] = sort_by_experience['experience'].map(mappings)
sort_by_experience.sort_values(by='sortby', inplace=True)

df["salary_avg"] = df["工资"].apply(avg_salary).astype(int)
groupy_by_experience = df.groupby(['工作经验'])["salary_avg"]
df_exper = []
for group in sort_by_experience["experience"]:
    v = groupy_by_experience.get_group(group).values
    df_exper.append(v)
  • seaborn工具实现数据展示
ax = plt.figure(figsize=(10,6)).add_subplot(111,axisbg='#FFDAB9')
# add_subplot(111)
sns.boxplot(data=df_exper)
ax.set_xticklabels(sort_by_experience["experience"],fontsize=18)
ax.set_title('不同工作经验的薪酬分布',fontsize=20)
ax.set_ylabel('薪酬K/月', fontsize=20)
plt.savefig('不同工作经验的薪酬分布')
plt.show()
  • Pyecharts工具实现数据展示
from pyecharts import Boxplot
boxplot = Boxplot("不同工作经验的薪酬分布")
boxplot.use_theme("dark")
_yaxis = boxplot.prepare_data(df_exper)

boxplot.add("",sort_by_experience["experience"] , _yaxis,is_area_show=True,yaxis_name="薪酬(k/月)",is_label_show=True,
            is_axisline_show=True,mark_point=["max","min","average"],
            is_geo_effect_show=True)
boxplot.render("exp_sal.html")
不同工作经验的薪酬分布

不同工作经验的薪酬分布

工作经验和薪资呈正相关分布,而3-5年和5-10年工作经验基本代表Python职位薪资普遍薪酬。薪酬分布最大值为40k(10年以上)、最小值为2K(应届毕业生)、平均值为11K(3-5年)。

不同学历要求的薪酬分布

学历要求和薪酬之间关系数据处理

count_by_degree = df.groupby(['学历要求'])['学历要求'].count()
value_by_degree = pd.DataFrame([count_by_degree.index, count_by_degree.values], index = ['degree', 'counts']).T
sort_by_degree = value_by_degree.copy()
degree_mappings = {'不限':1, '大专':2, '本科':3, '硕士':4,'博士':5}
sort_by_degree['sortby'] = sort_by_degree['degree'].map(degree_mappings)
sort_by_degree.sort_values(by='sortby', inplace=True)
df["salary_avg"] = df['工资'].apply(avg_salary).astype(int)
group_by_degree = df.groupby(['学历要求'])['salary_avg']
df_deg = []
for group in sort_by_degree['degree']:
    v = group_by_degree.get_group(group).values
    df_deg.append(v)
  • seaborn工具实现数据展示

    ax = plt.figure(figsize=(10, 8)).add_subplot(111,axisbg='#FFDAB9')
    sns.boxplot(data=df_deg)
    ax.set_xticklabels(sort_by_degree['degree'], fontsize=18)
    ax.set_title('不同学历的薪酬分布', fontsize=22)
    ax.set_ylabel('薪酬K/月', fontsize=20)
    plt.savefig('不同学历的薪酬分布')
    plt.show()```
    
  • Pyecharts工具实现数据展示

    from pyecharts import Boxplot
    boxplot = Boxplot("不同学历要求的薪酬分布")
    boxplot.use_theme("dark")
    _yaxis = boxplot.prepare_data(df_deg)
    boxplot.add("",sort_by_degree["degree"] , _yaxis,is_area_show=True,yaxis_name="薪酬(k/月)",is_label_show=True,
                  is_axisline_show=True,mark_point=["max","min","average"],
                  is_geo_effect_show=True)
    boxplot.render("deg_sal.html")
    
不同学历的薪酬分布
不同学历要求的薪酬分布

同样学历和薪资呈正相关分布,而大专和本科基本代表Python职位薪资普遍薪酬。薪酬分布最大值为35k(博士)、最小值为2K(硕士)、平均值为7K(不限)。而由于数据样本过于集中导致数据分析结果出现极值,本科占整个数据比例为90%左右。

公司融资情况和薪酬之间关系

公司融资情况和薪酬之间关系数据处理

count_by_financing = df.groupby(['融资阶段'])['融资阶段'].count()
value_by_financing = pd.DataFrame([count_by_financing.index, count_by_financing.values], index = ['financing', 'counts']).T
sort_by_financing = value_by_financing.copy()
mappings = {'未融资':1, '天使轮':2, 'A轮':3, 'B轮':4, 'C轮':5,'D轮及以上':6, '上市公司':7,'不需要融资':8}
sort_by_financing['sortby'] = sort_by_financing['financing'].map(mappings)
sort_by_financing.sort_values(by='sortby', inplace=True)

df["salary_avg"] = df["工资"].apply(avg_salary).astype(int)
groupy_by_financing = df.groupby(['融资阶段'])["salary_avg"]
df_financing = []
for group in sort_by_financing["financing"]:
  v = groupy_by_financing.get_group(group).values
  df_financing.append(v)
  • seaborn工具实现数据展示
    ax = plt.figure(figsize=(10,6)).add_subplot(111,axisbg='#FFDAB9')
    sns.boxplot(data=df_financing)
    ax.set_xticklabels(sort_by_financing["financing"],rotation=-45,fontsize=18)
    ax.set_title('融资情况和薪酬之间的关系',fontsize=20)
    ax.set_ylabel('薪酬K/月', fontsize=20)
    plt.savefig('融资情况和薪酬之间的关系')
    plt.show()
    
  • Pyecharts工具实现数据展示
    from pyecharts import Boxplot
    boxplot = Boxplot("融资情况和薪酬之间的关系")
    boxplot.use_theme("dark")
    _yaxis = boxplot.prepare_data(df_financing)
    boxplot.add("",sort_by_financing["financing"] , _yaxis,is_area_show=True,yaxis_name="薪酬(k/月)",is_label_show=True,
                  is_axisline_show=True,mark_point=["max","min","average"],
                  is_geo_effect_show=True)
    boxplot.render("financing_sal.html")
    
融资情况和薪酬之间的关系
融资情况和薪酬之间的关系

公司融资和薪资关系并不是很紧密,公司获得天使轮投资的Python职位薪资相对较高。薪酬分布最大值为6k(天使轮)、最小值为2K(A轮)、平均值为3K(B轮)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容