「数据游戏」:数据告诉你多读书到底能不能多赚钱?

北起漠河南至曾母暗沙,东达抚远西至斯姆哈纳。在广袤的中国土地上,千百年一直流传着古老的传说:书中自有黄金屋。

今天,我就用数据告诉你,书中到底有没有黄金屋。

数据来源

利用 Max 的拉勾爬虫爬取了拉勾杭州站,要求3~5年工作经验的1000条招聘数据。

简单数据分析

疑问1:不同学历进的公司规模有明显不同吗?
positionlist_grouped = positionlist.groupby(by = ['companySize','education'],as_index = False).count()
复制代码

将数据按照公司规模与教育程度分组。

plt.rcParams['font.family'] = ['Arial Unicode MS'] 
plt.rcParams['axes.unicode_minus'] = False 
 
sns.set_style('whitegrid',{'font.sans-serif':['Arial Unicode MS','Arial']})


# Draw a nested barplot to show survival for class and sex
g = sns.catplot(x="companySize", y="positionId", hue="education", data=positionlist_grouped,
                height=6, kind="bar", palette="muted")
g.despine(left=True)
g.set_ylabels("count");
复制代码

绘制分组数据的条形图。

从图上可以看到,虽然明确要求硕士的岗位比较少,但是不同规模的公司对学习要求的分布基本一致。

不同学历进的公司规模没有明显不同。

疑问2:不同学历进的公司财务状况有明显不同吗?

做法与疑问1一样,区别是将数据按照财务状况和学历进行分组,然后绘制分布的条形图。

groupbyfe = positionlist.groupby(by = ['financeStage','education'],as_index = False).count()
复制代码

我们可以看到 C 轮的公司开放给大专学历的岗位相比 B 轮有一个断崖式的下跌。饼图会更明显的反应出这个现象。

plt.pie('positionId',labels = 'financeStage',data = groupbyfe[groupbyfe['education'] == '大专'],autopct='%1.1f%%')
plt.title('专科');
....
....# 省略了绘制本科的代码
....# 省略了绘制硕士的代码
复制代码

对比三个饼图,注意观察本科和专科,B、C 轮公司的分布,我们可以看到 C 轮的公司提供给专科学历的人的岗位占比非常的低。

所以对于疑问2,我的看法是:不同学历进的公司财务状况基本一致,但是 C 轮的公司可能更倾向于招募本科及本科以上学历的员工。

疑问3:不同的岗位对学历的要求有明显不同吗?

对于这个问题,我绘制了词云。

  1. 首先将数据按照职位类别和学历进行分组并统计频数
  2. 仅保留分组数据的职位类别和学历列
  3. 将新的数据转置
  4. 将职位类别行设置为列名
  5. 利用 pandas 的 to_dict 方法生成词频数据
  6. 利用 wordcloud 的 generate_from_frequencies 方法绘制词频
positionlist_grouped = positionlist.groupby(by = ['secondType','education'],as_index = False).count()
grouped_dz = positionlist_grouped[positionlist_grouped['education'] == '大专'].loc[:,['secondType','positionId']].T.dropna(axis = 1)
grouped_dz.rename(columns=grouped_dz.loc['secondType',:],inplace = True)
grouped_dz.drop(labels = 'secondType',inplace=True)
复制代码

from wordcloud import WordCloud
wordcloud = WordCloud(font_path='/Library/Fonts/Songti.ttc',background_color='white').generate_from_frequencies(grouped_dz.to_dict('records')[0])
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
复制代码

上面三张图由左至右分别是专科、本科与硕士学历的职位词云。

可以看到销售相关的工作要求专科学历即可,运营、后端开发、移动前端开发、产品经理等岗位对学历的要求专科、本科平分秋色。而一些当下火热的岗位,比如人工智能、硬件开发、数据开发等,大部分公司对学历的要求是硕士。

疑问4:不同学历的薪资有明显不同吗?

终于,到了最核心也是大家最关心的部分。

原始数据的薪资是一个区间,将区间拆分为最低与最高两个变量。

positionlist['Lsalary']=positionlist['salary'].str.split('-',expand  = True)[0].str[:-1].astype(int)
positionlist['Hsalary']=positionlist['salary'].str.split('-',expand  = True)[1].str[:-1].astype(int)
复制代码

绘制不同学历的最低薪资与最高薪资分布直方图。

x = positionlist[positionlist['education'] == '大专'].loc[:,['Lsalary']]
y = positionlist[positionlist['education'] == '本科'].loc[:,['Lsalary']]
z = positionlist[positionlist['education'] == '硕士'].loc[:,['Lsalary']]
ax = sns.distplot(x)
ax = sns.distplot(y)
ax = sns.distplot(z)
ax.set_xlabel('工资(单位K/月)')
ax.set_title('最低工资分布');
#*****最高薪资?***********#
x = positionlist[positionlist['education'] == '大专'].loc[:,['Hsalary']]
y = positionlist[positionlist['education'] == '本科'].loc[:,['Hsalary']]
z = positionlist[positionlist['education'] == '硕士'].loc[:,['Hsalary']]
ax = sns.distplot(x,kde_kws={"label": "大专"})
ax = sns.distplot(y,kde_kws={"label": "本科"})
ax = sns.distplot(z,kde_kws={"label": "硕士"})
ax.set_xlabel('工资(单位K/月)')
ax.set_title('最高工资分布');
复制代码

对比之后可以看到学历越高,起薪的众数越高,最高薪的众数也越高。所以,不得不说学历的高低与收入的高低在统计分布上有相关性。

结论

回答最开始的问题,多读书到底能不能多赚钱?答案从最后一个图可以看出来,多读书的人赚更多钱的概率会更大。另外,有一个数据我没写:对学历要求越高的岗位,对应的公司福利也更好。专科很多岗位朝九晚五算是福利了,而硕士的很多岗位对应的福利是六险一金,年度出国游,公派进修等等。

数据游戏

最后,我想打个小广告:

本期新的数据游戏是:免费读书

异步社区和我合作举办的一周免费读书活动,由我亲自挑选了 精通数据科学:从线性回归到深度学习一书。

具体活动细节可以关注微信公众号 数据科学与技术(read_csv) 回复「数据游戏2期」查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值