数据分析师挣多少钱?“黑”了招聘网站告诉你!

做者/ 魏凯html

Udacity “数据分析师”纳米学位项目学员python


从去年7月份开始学习 Udacity 的“数据分析师”纳米学位课程,到如今也算学了很多内容,接下来打算慢慢开始找工做了。既然想要从事数据分析师这个岗位,那天然首先须要对这个岗位有所了解。最直接、最真实的方式就是从企业那里得到需求讯息,这样才最可以指导本身的学习方向和简历准备。本次项目便是要利用爬虫爬取拉勾网上数据分析这一岗位的信息,而后进行一些探索和分析,以数据分析来了解‘数据分析’。shell


数据来源

本项目所使用的数据集所有来自拉勾网,是经过集搜客这一网络爬虫工具来爬取的。集搜客是一款简洁易用且功能强大的网络爬虫产品,经过鼠标点选和简单的命令操做便可实现爬虫的定制和运行,这里也推荐一下。之因此选择拉勾网做为本项目的数据源,主要是由于相对于其余招聘网站,拉钩网上的岗位信息很是完整、整洁,极少存在信息的缺漏。而且几乎全部展示出来的信息都是很是规范化的,极大的减小了前期数据清理和数据整理的工做量。(笔者毕竟是工做之余完成,时间有限,能省则省)本次爬取信息的时候,主要得到了如下信息:编程

内容 字段
岗位名称 title
月薪 month_salary
公司名称 company
所属行业 industry
公司规模 scale
融资阶段 phase
投资人 investors
所在城市 city
经验要求 experience
学历要求 qualification
全职/兼职 full_or_parttime
职位描述及任职要求 description


项目目的

主要是但愿经过实际的数据来解答针对数据分析岗位的一些疑惑,Udacity数据分析师课程的童鞋一些参考性的意见。具体来讲,主要针对如下几个问题:
bash


- 数据分析师岗位需求的地域性分布;网络

- 整个群体中薪酬分布的状况;框架

- 不一样城市数据分析师的薪酬状况是怎样的;python2.7

- 该岗位对于工做经验的要求是怎样的;编程语言

- 根据工做经验的不一样,薪酬是怎样变化的;分布式

- 从用人单位的角度看,数据分析师应当具有哪些技能?

- 掌握不一样技能是否会对薪酬有影响?影响是怎样的?


技术和工具

本项目主要分为两大部分,第一部分是数据爬取,采用的是集搜客网络爬虫工具。第二部分是数据分析,以python编程语言为基础。数据分析部分主要使用pandas做为数据整理和统计分析的工具,matplotlib用于图形的可视化,seaborn库包用于图形美化。在进行技能需求分析的时候,使用了jieba做为分词工具包,并使用wordcloud包制做词云。


数据整理


加载和清理


* 点击图片缩略图可放大,下同。





能够看到,通过初步清理后,数据集中有效变量为13个,数据记录575条。除了投资人这一项以外,其余各字段的数据完整度很是好,几乎没有缺失值。这对于后面的分析来讲是个大大的好消息。



数据分析


地域性分布



<matplotlib.text.Text at 0x1102e1f90>复制代码



在拉勾网上,全国有29个城市的企业邮数据分析师的人才需求,其中将近一半需求产生在北京市,需求量全国第一。排在前5的分别是:北京、上海、深圳、杭州、广州。数据分析这一职业大量集中在北上广深四大一线城市,以及杭州这个互联网和电子商务企业的汇集地。北京市巨大的需求比重令我稍感意外,不过,考虑到拉勾网是一个偏重互联网相关行业的招聘平台,而我国大量互联网企业在北京汇集,这个结果倒也算合理。之后有时间,能够对全国互联网行业分布特色作个分析。


总而言之,能够得出一个清晰的结论:数据分析这一岗位,有大量的工做机会集中在北上广深以及杭州,期待往这个方向发展的同窗仍是要到这些城市去多多尝试。固然,从另外一个方面说,这些城市也都集中了大量的各行业人才,竞争压力想必也是很大的。


整体薪酬状况



/Users/carrey/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:16: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy复制代码


([<matplotlib.axis.XTick at 0x11ccaa290>,
  <matplotlib.axis.XTick at 0x11d478210>,
  <matplotlib.axis.XTick at 0x11d5652d0>,
  <matplotlib.axis.XTick at 0x11d602f10>,
  <matplotlib.axis.XTick at 0x11d6116d0>,
  <matplotlib.axis.XTick at 0x11d528290>,
  <matplotlib.axis.XTick at 0x126eb4c10>,
  <matplotlib.axis.XTick at 0x11d441e90>,
  <matplotlib.axis.XTick at 0x11d611bd0>,
  <matplotlib.axis.XTick at 0x11d618390>,
  <matplotlib.axis.XTick at 0x11d618b10>,
  <matplotlib.axis.XTick at 0x11d6242d0>,
  <matplotlib.axis.XTick at 0x11d624a50>,
  <matplotlib.axis.XTick at 0x11d62d210>,
  <matplotlib.axis.XTick at 0x11d62d990>,
  <matplotlib.axis.XTick at 0x11d637150>,
  <matplotlib.axis.XTick at 0x11d6378d0>,
  <matplotlib.axis.XTick at 0x11d642090>,
  <matplotlib.axis.XTick at 0x11d642810>],
 <a list of 19 Text xticklabel objects>)复制代码



如同大多数其余工做同样,数据分析师的薪酬也是一个右偏分布。大多数人的收入集中在5k-20k每个月,只有少数人可以得到更高的薪酬,但有极少数人薪酬极高,让人充满期待。须要说明的是,拉勾网上的薪酬值是一个区间值,而且相互之间互有重叠,为了便于分析,我取区间的中值做为表明值进行的分析。所以,实际的薪酬分布状况可能会比图中的状况更好一些。老是有人可以拿到薪酬的上限。综合来看,数据分析师的薪酬收入总体仍是可观的,从这方面说,选择这个职业仍是不错的。


不一样城市薪酬分布状况



<matplotlib.text.Text at 0x115796650>


忽略掉那些人才需求量比较小的城市,我重点关注排名前六的城市。从图上看,这六大城市的薪酬分布状况整体来讲都比较集中,这和咱们前面看到的全国的薪酬整体状况分布是一致的。深圳市薪酬分布中位数大约在15k,居全国首位。其次是北京,约12.5k,以后是上海和杭州。深圳确实是个创造奇迹的城市,在这里也给了我一个小小的惊喜。从待赶上看,数据分析师留在深圳发展是个不错的选择。


工做经验需求



/Users/carrey/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:7: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
/Users/carrey/anaconda/lib/python2.7/site-packages/pandas/core/indexing.py:132: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  self._setitem_with_indexer(indexer, value)
/Users/carrey/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:13: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
/Users/carrey/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:25: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)复制代码


<matplotlib.text.Text at 0x110577dd0>



不出所料的,工做经验的需求分布近似于正态分布。工做1-3年经验的熟手需求量最大,其次是3-5年工做经验的资深分析师。工做经验不足1年的新人,市场需求量比较少。另外,工做经验要5-10年的需求量很是稀少,而10年以上的更是百里挑一。


从这个分布咱们大体能够猜想出:


数据分析是个年轻的职业方向,大量的工做经验需求集中在1-3年;对于数据分析师来讲,5年是个瓶颈期,若是在5年以内没有转型或者质的提高,大概之后的竞争压力会比较大。


不一样工做经验的薪酬分布



<matplotlib.text.Text at 0x11cc58f50>


毫无疑问的,随着经验的提高,数据分析师的薪酬也在不断提升。另外,从现有数据来看,数据分析师彷佛是个常青的职业方向,在10年内大概不会由于年龄的增加致使收入降低。


职业技能关键词




Building prefix dict from the default dictionary ...
Loading model from cache /var/folders/p7/6s6n_sw53dq_w9j52wlzyl800000gn/T/jieba.cache
Loading model cost 0.417 seconds.
Prefix dict has been built succesfully.
/Users/carrey/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:7: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy复制代码




词云显示出的状况,有点超出了个人预料。对于数据分析师这一岗位,企业需求频率最高的技能并非Python语言和R语言等现在很是时髦的数据分析语言,而是传统的结构化查询语言SQL和表格神器Excel。这一点须要各位小伙伴注意,要想从事数据分析师岗位,SQL和Excel看起来是必备技能。 从词云上看出,数据分析师技能需求频率排在前列的有:SQL,Excel, SAS,SPSS, Python, Hadoop和MySQL等。另外,Java, PPT, BI软件等属于第二梯队。


掌握不一样技能对薪酬收入的影响




/Users/carrey/anaconda/lib/python2.7/site-packages/ipykernel/__main__.py:13: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy复制代码

<matplotlib.text.Text at 0x11f59b890>



我对需求频率最高的前15个技能进行统计计算,得出每个技能对应的平均薪酬水平,如上图。点的大小表明该技能需求量的多少。


在前15项技能中,shell,Hive, Spark这三者的平均薪酬水平最高,而且相对其余技能来讲有比较大的差别。对数据分析师工做有所了解的人应该都知道,这三个工具中,Hive和Spark都是应用于分布式数据处理,而shell脚本则是Linux系统下工做的必须技能。这三者共同指向了一个方向,那就是海量数据的分布式处理!


因此,想要拿高薪的小伙伴注意了,海量数据处理、分布式处理框架是走向高薪的正确方向。 另外值得注意的是,在数据分析领域,Python语言的平均薪酬水平要高于目前如日中天的Java语言。而SQL语言和传统的SAS,SPSS两大数据分析软件,则可以让你在保证中等收入的条件下,可以适应更多企业的要求,也就意味着更多的工做机会。


分析结论

经过上面的分析,咱们能够获得的结论有这些: 数据分析这一岗位,有大量的工做机会集中在北上广深以及杭州。 大多数据分析师的收入集中在5k-20k每个月,只有少数人可以得到更高的薪酬,但有极少数人薪酬极高,让人充满期待。


从待赶上看,数据分析师留在深圳发展是个不错的选择,其次是北京、上海。 数据分析是个年轻的职业方向,大量的工做经验需求集中在1-3年。


对于数据分析师来讲,5年彷佛是个瓶颈期,若是在5年以内没有转型或者质的提高,大概之后的竞争压力会比较大。 随着经验的提高,数据分析师的薪酬也在不断提升,10年以上工做经验的人,能得到至关丰厚的薪酬。


数据分析师需求频率排在前列的技能有:SQL,Excel, SAS,SPSS, Python, Hadoop和MySQL等,其中SQL和Excel简直能够说是必备技能。 海量数据、分布式处理框架是走向高薪的正确方向。 SQL语言和传统的SAS,SPSS两大数据分析软件,可以让你在保证中等收入的条件下,可以适应更多企业的要求,也就意味着更多的工做机会。


思考和总结

对于数据分析师技能的分析是比较简陋的,在本次分析过程当中,仅针对工具型的技能进行了分析。但其实,数据分析师所须要具有的素质远不止这些,还须要有扎实的数学、统计学基础,良好的数据敏感度,开拓但严谨的思惟等。若是要对这些内容进行深刻挖掘的话,应该会更加有趣。不过,要进行这项内容的话,须要掌握大量中文分词、关键字提取等方面的知识和技能,难度也会更高。时间所限,在这里再也不进一步展开了,但愿之后有时间再作一个专项分析吧。 让人忍不住吐槽的是,Python2.X环境对中文编码的支持着实不够好,在处理数据的时候消耗了大量的时间和精力,也犯了很多错,走了不少弯路。之后这一块的内容要找时间专门攻坚一下,也能够考虑换到python3平台去。


特别说明:本次数据源彻底来自拉勾网,但拉勾网自己是专一于互联网相关行业的招聘平台,因此本次分析出的结论更加适用于互联网行业的相关企业,对于其余行业的企业,未必合适。

相关文章
相关标签/搜索