简介:试着,作了一个拉勾网数据分析师职位的数据分析。
其实,虽然很想作数据分析师,可是是跨行,内心至关忐忑,作这个分析就至关于加深本身对数据分析这个行业的了解了。java
大体思路python
原本是想本身写个爬虫的,但是学了很久,仍是不能融会贯通,总会出一些bug,只能继续学习,争取早日修成爬神功。又想着,总不能还没开始,就结束了此次实验。最后无心中发现了一个爬虫工具--八爪鱼、、只须要点点点(其实,当时有种挫败感)。不过,总算数据总算有了。mysql
数据的具体采集过程以下:sql
下载安装八爪鱼采集器。
建立任务,选择列表及详情。
输入任务名称、备注。
输入采集网址
设置详情页连接,也就是点进具体的详情页。
设置好翻页。
点击须要采集的数据信息。
开始采集。
数据导出为excel。
过程 数据的清洗与处理架构
这里试着用了两种工具,Excel + Python,也比较了一下两者的优势。与前人所述基本一致,纸上得来终觉浅啊。app
想说一下字段的命名,若是用了Python进行处理的话,最好仍是把字段命名为英文,或者说字母。能够简化后期处理,会方便不少。echarts
固然,你若是全用Excel是用中文命名,也是没有问题的。函数
字段工具
Excel的处理过程 预防万一oop
所谓预防万一,就是将Excel另存一份源数据,以避免后期发生不可预知错误。
新建工做表,将salary字段复制过来。
清除全部格式。
数据-分列-固定符号-"-"
查找替换 k。这里说明下,清除格式后,不管查找大写K仍是小写k,都可。
由于抓取的数据是一组区间值,没法直接使用,所以取薪资的中间值也就是平均值。使用函数 'MEDIAN' ,它会返回一组数的中值,或者使用 'AVERAGE' 也可。获得的值以下:
再对这组值进行数据分析,数据-数据分析-描述统计,获得最大值,最小值,全距,再根据公式计算组数,组距,进行数据分组,再根据 ' FREQUENCY '函数计算每组频率。
接下来,就能够绘制图表了。
ps:或者直接在第5步,采用数据分析工具中的直方图,进行分析。
处理experience、city、education、property、scale列
新建工做表,复制。
清除全部格式。
使用函数 'SUBSTITUTE' 替换全部 "/",或者直接查找替换。
数据透视表统计,绘图。
新建工做表,复制。
清除全部格式
查找替换"、",","为半角“,”。
分列。
这样,基本就处理完了。
从图中能够看出,17个行业中,移动互联网对数据人才的需求量是最大的,其次是金融和电子商务,而生物服务、文化娱乐、旅游、分类信息、硬件等的需求量最少。我认为,这从一个侧面反映了移动互联网数据量的巨大,以及对人才的渴求。
首先看一下,职位主要分布的区域:
从图中能够看到,招聘公司主要位于南方,东三省居然没有。我认为,这个时代,对数据的重视程度从某种程度上说明了发展的质量,就这个样本数据来讲,从某种程度上反映了东三省的发展速度较慢,不如南方。
再看一下,城市与职位:
这里主要截取了前10个城市,毫无心外,北上广赫然在列,杭州也不少,排在广州前面。看来,咱们这些想作数据分析师的人,都没法逃离北上广啊。嗯,你也能够去杭州,据在那儿生活了七八年的同窗来讲,他不想走了。
前面数据处理获得了每一个职位的平均薪资,这里进一步处理获得了每一个行业在每一个城市的平均薪资。下图是招聘最多的几个行业在每一个城市的平均薪资。
从图中能够知道,总体上相对来讲,广州在这些行业中属于较低的。北京、上海差距不是太大。
这里借助python进行了统计:
python import pandas as pd data = pd.DataFrame(pd.read_csv(r'C:\Users\sunshine\Desktop\2017.8.20.csv',encoding = 'gbk')) data.columns positionName = [] for i in range(len(data.position)): if "实习" in data.position[i]: positionName.append("实习") elif "助理" in data.position[i]: positionName.append("助理") elif "专员" in data.position[i]: positionName.append("专员") elif "主管" in data.position[i]: positionName.append("主管") elif "经理" in data.position[i]: positionName.append("经理") elif "工程师" in data.position[i]: positionName.append("工程师") elif "总监" in data.position[i]: positionName.append("总监") elif "科学家" in data.position[i]: positionName.append("科学家") elif "架构" in data.position[i]: positionName.append("架构师") else: positionName.append("其余") data["positionName1"] = positionName data["positionName1"].value_counts()
这里没有用matplotlib画,借用了echarts。
招聘公司对我的能力的要求 招聘公司对应聘者的学历要求
从图中咱们很明显能够获得,公司对应聘者的学历要求,本科以上占了绝大部分,这说明,90%以上的公司对应聘者的学历要求很高,我认为,这可能有如下缘由:
分析行业对应聘者的知识水平要求仍是很高的,由于数据分析师不但要涉及不少高等数学,统计学,几率论,线性代数等数学知识,还要涉及不少行业知识。
这个行业须要应对不少突飞猛进的信息,各类东西更新迭代很是快,所以对应聘者的自学能力提出了很高的要求。
招聘公司对应聘者经验的要求
大部分公司招的都是1-5年的,1年之下和经验不限的不多,因此说,实习经验很重要,没有实习经历,太难入行了。我泪奔。公司须要的都是老鸟啊。
这里使用了python进行了正则匹配,和词云生成。
python import re import numpy as np import pandas as pd import matplotlib.pyplot as plt import jieba as jb from wordcloud import WordCloud #转换数据格式 word_str = ''.join(data['deion']) #对文本进行分词 word_split = jb.cut(word_str) #使用|分割结果并转换格式 word_split1 = "| ".join(word_split) #设置要匹配的关键词 pattern=re.compile('sql|mysql|posgresql|python|excel|spss|matlab|ppt|powerpoint|sas|[\br\b]|hadoop|spark|hive|ga|java|perl|tableau|eviews|presto') #匹配全部文本字符 word_w=pattern.findall(word_split1) word_s = str(word_w) my_wordcloud = WordCloud().generate(word_s) plt.imshow(my_wordcloud) plt.axis("off") plt.show()
有点丑...
所以,换了个工具.....
好看点了,不管哪张图都说明,除了excel,若是,你懂R或者python,再加上SQL,和spss,喔,你是个香饽饽。
招聘公司对应聘者技能的要求
能够看到,公司对应聘者的要求大部分在数据分析能力和产品、业务等方面。看来,数据分析师最重要的仍是懂业务,这也是我想发展的方向。至于数据挖掘方向,对数学功底要求过高了,毕竟我不是科班出身。可是,我以为平时在实验室作的实验,其实和业务是一个道理。只不过,是将实验换成了产品。
对于数据分析岗,招聘公司主要位于南方,可是以北京公司最多。不须要融资,B轮和上市公司对于该岗位的需求较大。而且主要是移动互联网行业的公司。企业对于应聘者的工具掌握可能是Excel,Spss,Python,R,SQl等,若是你全会,那基本就是个香饽饽。在技能方面,企业比较看重数据分析,以及对业务、运营的理解。而对于应聘者而言,本科生学历彻底足够了。就薪资而言,广州多有行业较其余城市偏低,北京和上海在同等工做经历下,薪资要领先于其余城市。
网易云课堂专栏课程:大数据分析必备利器《R语言数据分析必知必会》http://study.163.com/course/c...