经常有人会问我这样的问题:能不能做一个职业的可视化分析?最近找工作很不顺利,各种迷茫,希望从广大求职者的数据中得到一些启发。
肯定没问题,今天就给大家分析一波职业数据,以可视化的形式让各位感受一下数据的魅力。
众所周知,我们是做商业智能的,和这个行业强相关的岗位有很多,BI工程师算一个,我在某求职网站上随便搜索了一下,在这个寒冷的冬天,需求还挺大,而且薪资是很不错的,其中不乏腾讯、微博这样的知名大公司。
那我们现在就对这么多的数据进行可视化分析吧,其实很简单,只需要四步:
获取有关“BI、数据”类的岗位数据包括:岗位名称、公司名称、工作地点、薪资、学历要求
对数据进行预处理,包含数据去重,数据删选,数据规范化,数据分类等处理过程
对不同的目标所需数据进行提取,再次进行数据处理过程,将数据进行可视化
对可视化后的数据进行分析和得出结论
1、获取数据
由于所需数据量较大,本组利用python访问招聘网站,获取页面信息。技术是通用的,大家也可以试着获取自己岗位的关键词,如“报表工程师”、“java开发工程师 ”等。
至于完整的python代码,可以到文末获取,总计获取了10W的数据。
我们获取到了如下的数据明细:
由此可见,想要分析的角度很多,且看了源数据,还要做不少的数据处理,Excel和python肯定是不行的,前者是不能实时响应,后者是用户受众太窄。最简单快速出可视化的方法自然是用BI工具,来对数据做简单清洗加工,并呈现可视化。
BI能应付绝大多数场景的数据分析,尤其擅长多维数据切片,不需要建模;甚至数据清洗环节也能放在前端,通过过滤筛选、新建计算公式等来解决。最后呈现可视化,并可设计数据报告。
这里我用敏捷工具FineBI来做这次分析,它不仅能打通各类数据源,拖拽数据字段自动出图的操作方式,能让人从可视化的泥潭中解放出来,把更多精力投放到数据管理,算法研究和业务沟通上。
下图展示了FineBI强大的数据处理能力。
2、数据处理
海量的原始数据存在着大量不完整、不一致、有异常的数据,严重影响到数据进一步提取信息,因此要对所获取的数据进行处理。
导入数据
导入数据
主要是删除原始数据集中的无关数据、重复数据、平滑噪声数据,筛选掉与主题无关的数据,处理缺失值、异常值等。
将xlsx文件数据导入FineBI中(新建数据链接,建立一个分析业务包,然后导入这张excel表)。因为薪水是以xxk-xxk(还有一些类似校招/薪资面议的数据)的形式进行存储的,我这边使用FineBI新增公式列(类似excel函数)将这些字符进行分割:
薪水下限(数值): indexofarray ( split (salary,"k-") ,1)
薪水上限(含K字符):indexofarray( split(salary,"k-") ,2)
薪水上限(数值):left(薪水上限(文本),len(薪水上限(文本))-1 )
求一下平均薪水:(薪水上限+薪水下限)/2
3、数据可视化
要说可视化的颜值,finebi真的不输谁,内含50多种可视化图表:
下面这些图是我用30分钟就做出来的:
要知道同样的工作使用R语言的ggplot2至少要2小时(含调试),使用Python的matplotlib就更久了。
4、得出结论
通过FineBI,我做出了如下的可视化驾驶舱:
根据上面这个图表,我可以分析出很多有价值的结论:
(1)这种数据类型的新兴职业,大部分存在于互联网公司中,所以互联网发达的地方:北上广深,也就是该岗位需求最多的地方。
(2)目前BI工程师岗位平均薪资为20.61K,主要薪水区间大概在15K-20K和大于25K,而这个薪资对应的年限大致在3年以上,本科学历。
(3)同一岗位,本科和硕士的薪资差很多,所以还是要努力读书
(4)一些高薪的招聘企业,最高的可以给到40K~60K的薪酬水平,其中主要是互联网、IT类公司为主。
相比于前几年,数据类岗位,无论从整体薪资还是需求数量来看,都有了大幅度的上涨,今年开始数据被纳入参与分配的生产要素,数据开始起着越来越重要的作用。
网友评论