[关闭]
@wade123 2019-05-13T02:46:09.000000Z 字数 3570 阅读 1028

实战项目 12:2018 年大学生薪酬数据分析

Python入门爬虫与数据分析


摘要: 分析 2018 年中国大学毕业生薪酬表。

这是一份中国薪酬网公布的 2018 年中国高校大学生薪酬排名表:

拿到这样一份常见的表格,可以尝试从哪几个方面做数据分析呢,提供几个思路:

哪些学校薪资最高最低?

表格中提供了三年的薪资对比,那么可以比较一下刚工作一年和工作五年后各校学生的薪资情况。大部分学生就业是通过通过企业校招,第一年的薪资跟学校往往很大关系,而五年后的薪资基本就是看个人能力了。这样也能侧面反映出学校在社会上的声誉地位和学校学生的整体能力。

这里筛选出了一年和五年后的薪资最高(低)的 10 所高校:

rank university 2017 university 2013
0 清华大学 9065 北京大学 13790
1 北京大学 9042 复旦大学 13594
2 北京外国语大学 9020 外交学院 12669
3 上海交通大学 9010 清华大学 12614
4 对外经济贸易大学 8998 同济大学 13616
5 外交学院 8956 国际关系学院 12786
6 复旦大学 8842 上海外国语大学 12587
7 浙江大学 8810 中国人民大学 12258
8 同济大学 8784 对外经济贸易大学 12316
9 中央财经大学 8771 广东外语外贸大学 12229
rank university 2017 university 2013
190 兰州理工大学 3616 兰州理工大学 5206
191 青岛科技大学 3584 延边大学 5072
192 天津师范大学 3574 重庆工商大学 5253
193 华北电力大学(保定) 3542 青岛科技大学 5032
194 山东中医药大学 3528 南京信息工程大学 4974
195 江苏科技大学 3513 山东中医药大学 4871
196 武汉工程大学 3460 江苏科技大学 4934
197 延边大学 3437 华北电力大学(保定) 4931
198 南京信息工程大学 3426 武汉工程大学 4734
199 西安建筑科技大学 3394 西安建筑科技大学 4925

可以看到:

代码实现如下:

  1. import pandas as pd
  2. data = pd.read_csv('./salary.csv')
  3. data1 = data.iloc[:,[1,6]] #切片只保留第2和第7列
  4. # data2 = data.sort_values(by='2017',ascending=False).reset_index(drop=True)
  5. data2 = data.sort_values(by='2013',ascending=False).reset_index(drop=True)
  6. data2 = data2.iloc[:,[1,8]]
  7. data3 = pd.concat([data1,data2],axis=1) #合并dataframe
  8. data3.head(10)
  9. data3.tail(10)

哪些地方薪资水平高?

表格中大学都标注了所在省份,有地理位置就可以尝试用地图来展现,这样能直观对比各省份的高校数量、薪资水平等情况,以各省薪资分布为例,来用 pyecharts 绘制地图。

通过颜色深浅可以判断,薪资最高的是上海、北京、广东这些一线发达省份,也符合这些省份的经济水平。看来想拿高工资还是得去一线。接下来比较高的薪资是黑龙江,有点意外。西部一片白是因为一所学校都没有统计到,也反应了西部高校数量少,师资力量比较薄弱。

代码实现如下:

  1. from pyecharts import Bar,Map,Geo
  2. from pyecharts import Grid,configure
  3. configure(global_theme='dark') # 使用黑色主题
  4. data4 = data.groupby(by='province').mean()
  5. print(data4.sort_values(by='2017',ascending=False)['2017'])
  6. value = list(data4['2017'].values)
  7. attr = list(data4.index)
  8. map = Map('大学毕业一年薪资分布','上北广薪资最高,内蒙河南甘肃垫底',title_color='#fff',
  9. title_pos='center')
  10. map.add('',attr,value,
  11. maptype='china',
  12. is_random=True,effect_scale=5,
  13. visual_range=[3000,8000],
  14. visual_text_color='#fff',
  15. is_visualmap=True
  16. )
  17. map.render('大学毕业一年薪资分布.png')

类似地还可以做出毕业五年后的薪资分布情况。

是理工类、综合类还是其他类型学校薪资高?

表格中还标注了高校类型,那么可以对比一下不同类型高校的薪资水平。

统计之后可以看到,国内大学按照学校类型可以分为十大类。薪资最高的不是理工类,也不是综合型大学,而是语言、艺术类学校,是不是有点意外?不过这也跟理工综合型学校的专业数量多有关系,不同专业薪资差别很大,平均下来可能就比较低。

代码实现如下:

  1. data5 = data.groupby(by='category').mean()
  2. data5.sort_values(by='2013',ascending=False,inplace=True)
  3. value = list(data5['2017'].values.round(0))
  4. attr = list(data5.index)
  5. bar = Bar('不同学校类型薪资对比','语言类最高,医药最低',title_color='#fff',
  6. title_pos='center') #,width=1200,height=600
  7. bar.add('',attr,value,
  8. is_label_show=True,
  9. y_axis_interval=0,
  10. y_axis_roate=45,
  11. )
  12. map.render('不同学校类型薪资对比.png')
  13. bar

985 、211 和双非高校薪资对比

表格中也标注了学校是否为 985/211,所以还可以从这个角度分析。出来工作后很多人说学校不重要,能力才重要。个人觉得这话对一半,要有本事的话,出身好能力又强不更好?

来看「985 」「211 」和「双非」这三类高校不同工作年限的薪资情况。

可以看到,不管是工作一年、三年还是五年,「985 」学校的薪资都高于「211 」学校,远高于双非学校。所以能上好学校还是尽量上。

代码实现如下,这里绘制了多系列图:

  1. data5 = data.groupby(by=['985','211']).mean().round(0)
  2. data5.iloc[:,1:5]
  3. value = list(data5['2017'].values.round(0))
  4. value2 = list(data5['2015'].values.round(0))
  5. value3 = list(data5['2013'].values.round(0))
  6. attr = ['双非','211','985']
  7. print(value,attr)
  8. bar = Bar('不同学校类型薪资对比','985高校高于211高于双非',title_color='#fff',
  9. title_pos='center') #,width=1200,height=600
  10. bar.add('',attr,value,
  11. is_label_show=True,
  12. y_axis_interval=0,
  13. y_axis_roate=45,
  14. is_legend_show=True,
  15. )
  16. bar.add('',attr,value2,
  17. is_label_show=True,
  18. y_axis_interval=0,
  19. y_axis_roate=45,
  20. is_legend_show=True,
  21. legend_pos='right'
  22. )
  23. bar.add('',attr,value3,
  24. is_label_show=True,
  25. y_axis_interval=0,
  26. y_axis_roate=45,
  27. is_legend_show=True,
  28. legend_pos='right'
  29. )
  30. bar

以上,从连续性变量和分类变量入手,对这份表格做了一个简单分析,可以得到一眼看不出来的结论。

文中代码和素材可以在下方链接中得到:

https://github.com/makcyun/web_scraping_with_python/tree/master/2018%20%E5%B9%B4%E5%A4%A7%E5%AD%A6%E6%AF%95%E4%B8%9A%E7%94%9F%E8%96%AA%E9%85%AC%E5%88%86%E6%9E%90

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注