用Excel做一次数据分析(二)——一次简单的分析
接上一篇:用Excel做一次数据分析(一)——爬取前程无忧(51job)的招聘信息
得到了数据(截止2020-8-12)后,接下来可以开始数据清洗和分析的工作了:
总体步骤:
数据获取——这里用python爬取前程无忧的招聘信息;
明确分析目的——你拿这数据要得到什么信息,解决什么问题;
观察数据——各个数据字段的含义,中英文释义;
数据清洗——无效值、缺失值、重复值处理,数据结构是否一致等;
分析过程——围绕目的展开分析;
制作可视化——做图表做可视化报告
一、明确目的
数据分析的大忌是不知道分析的方向和目的,拿着一堆数据不知所措。数据用来解决什么问题?
是进行汇总统计制作成报表?
是进行数据可视化,作为一张信息图?
是验证某一类业务假设?
是希望提高某一个指标的KPI?
要知道一切数据分析都是以业务为核心目的,所以要找到业务问题的思考点。关于找到问题的切入点,之前数据分析思维篇讲过。永远不要妄图在一堆数据中找结论,目标在前,数据在后,哪怕是把数据做个平均值比较,也比没有方向好。每一步尝试都会引发进一步思考,比如为什么这个值这么低,原因在哪里,这个差异波动有何规律……
所以,分析前不妨先来看一下我们爬的数据:
比如我想成为一名数据分析师,可能会关注的是:
目前数据分析师的平均薪资水平如何,薪资的区间分布如何
各地区对分析工程师的需求量是多少,哪些地区设岗最多。
不同年限的分析工程师薪资差异如何,3年后我差不多是什么样的价位?
薪水较高的公司有哪些?
带着这样的问题,那我们的分析就有了方向,后续则是将目标拆解为实际分析展示的过程
探索数据
大概看一下数据全不全,各个字段的含义,单位(量纲)、格式是否一致,是否有空值?
各个字段含义:
岗位名称、公司名称、工作地点、薪水、工作经历和学历最低要求、公司类型、公司规模、公司领域
数据预处理
数据预处理一般包括数据清洗、数据变换、数据集成、数据归约、离散化等:
(1)数据清洗
一般包括无效值、缺失值、重复值处理;
数据是否有乱码,错位现象;
数据口径问题,两张表的关联ID名是否一致;
还有是否有统一的标准或命名,如公司名全写或缩写的区分。
(2)数据转换则是将数据规整为统一格式处理。
(3)数据集成主要是指多种数据源汇集到一起,放入一个数据仓库的过程,主要有实体识别、冗余属性识别、数据值冲突等
(4)数据归约是保证原始信息不丢失的情况下,减少分析使用的数据量,常使用方式是维归约
接下来进行数据清洗。
1、有无缺失值
数据的缺失会很大程度影响分析结果。数据缺失的原因很多,比如数据采集的时候,因为技术的原因,爬虫没有完全抓去。但工作上更多的原因是数据入库的时候就没有收集全,有没填有遗漏,这又是数据规范数据治理的话题了。一般来说,如果某一字段数据缺失超过40%~50%,就没有分析意义了,考虑删除或作其他措施。
看数据有没有缺失,只要在Excel中选中该列看计数就行。
发现salary字段有缺失,即有些公司没有表明薪酬。缺失值不多,可以直接删除处理。
点击-筛选,选择空白
全部删除就行。
2、脏数据处理
观察发现有些奇奇怪怪的职业也混进来了:
我们把职业名不含数据两个字的全部删掉:
新建一列辅助列C,C2输入公式: =IF((COUNTIF(A2,“数据”))>=1,“1”,“0”)
注:
COUNTIF函数的作用是统计某个区间内,与查询值相同的数据的个数,countif函数的语法格式
=countif(range,criteria)
参数range 表示条件区域——对单元格进行计数的区域。
参数criteria 表示条件——条件的形式可以是数字、表达式或文本,甚至可以使用通配符。
这样为0的就是要删除的:可以通过筛选功能,剔除不符合的。点击筛选->点击C列的小三角,选中0,就能看到结果了,可以看到确实跟数据分析关系不大,全选后删除。
3、重复数据
重复数据一般对唯一标识字段来处理,可是我们这里并没有类似ID值这样的属性,我们就以职位名+公司名为筛选条件:
比如:
这两条是重复的
利用函数可以灵活地达到我们想要的效果,我们在A,B字段新建一列辅助列C,在C2输入公式 =A2&B2
然后鼠标放到C2单元格的右下角,就会出现一个黑色的+号,双击这个+号,公式就会自动复制到最后一行了。
然后 点击数据–删除重复值,选择刚刚的辅助列:
就可以剔除了。
当然如果你想看一下重复列的情况,可以参考下面的做法:
再新建一列新的辅助列D,D2输入公式 =COUNTIF( C : C: C:C,C2) ,公式中绝对引用符号$的使用,绝对引用的快捷键是F4。
通过这个公式结果可以发现,所有D列运算结果大于等于2的记录(如果有更多的重复,结果会大于2)就是我们需要剔除的重复项。这个时候,使用自动筛选功能,在D列筛选出大于1所在的行,然后删除整行,再恢复到非筛选状态,就能得到最后所需的清单:
可以看到确实是重复的。。然后把辅助列删除就行。
全部做完后删除后还剩下556条数据
4、数据转换
薪水
显而易见的是薪水字段格式非常不统一,有以万/月、千/月,万/年为单位的。而且单元格格式为文本,非数值类型。所以我们统一量纲后分成最低、最高薪水两列。
通过=RIGHT(D2,3),筛选发现一共有四种单位,元/天是一般是实习生,而且只有三个,那可以直接做删除处理。
拆分为最低和最高薪水并统一单位:
新建两列:E,F
如果用公式一步到位的话就是:
对于最低薪水:通过右截取三个字符判断单位,对于数值,左截取到 “-”提取,然后用IFS来判断如果转换数值。
=IFS(RIGHT(D2,3)="万/年",LEFT(D2,FIND("-",D2,1)-1)/12,RIGHT(D2,3)="万/月",LEFT(D2,FIND("-",D2,1)-1),RIGHT(D2,3)="千/月",LEFT(D2,FIND("-",D2,1)-1)/10)
不过实际上更加方便的方式是,先用分列,根据分隔符 " -" 即可轻松分离出数值,单位通过右截取三个字符也可轻松分离。
下面是综合利用辅助列和公式获得最高工资的过程:
新建一列辅助列E,直接,利用=MID(D2,FIND("-",D2)+1,LEN(D2)-3-FIND("-",D2))
即可选出最高薪水(利用mid函数选取 "-"位置+1开头的到整段文本长度-3的字符即可)
接下来公式和最低薪水非常相似:(当然不利用辅助列,纯公式也可,不过这样公式会很长)
=IFS(RIGHT(D2,3)="万/年",E2/12,RIGHT(D2,3)="万/月",E2,RIGHT(D2,3)="千/月",E2/10)
最后再设置一下单元格格式为数值,并把辅助列E隐藏即可。
但是我们实际上更关心的可能是实际的薪水,再新增数据列,平均薪水,来近似代表实际的准确薪资。平均薪水=(薪水下限+薪水上限)/2,即可得到每个岗位的平均薪水,还可以自定义格式。
工作经验和最低学历
有些行的这一列为【】,即什么都没有,这样我们就当作对经验和学历没要求,即等价于一个无需经验。这里处理一下分列,细节再调整
分析过程
因为这里主要数据均是文本格式,数据又很简单,所以偏向汇总统计的计算。如果数值型的数据比较多,就会涉及到统计、比例等概念。如果有时间类数据,那么还会有趋势、变化的概念。
整体分析使用数据透视表完成,先利用数据透视表获得汇总型统计。
1、看看薪酬分布
比如大部分的工资集中在7000到1.25万这个区间。又或者加上区域的需求概况分析:
天河区的就业岗位多且工资水平较高,这也符号我们的预想,毕竟天河作为广州“经济第一强区”,天河区GDP总量一直是全市第一。不过有些职业并未标明是广州哪些区。
2、再看看经验和学历的影响:
职业招聘的话
1-3年经验的可选择范围是比较大的。再比如回答我们上面提出的问题,工作3年后我差不多是什么薪酬?
对工资直接降序排列,工资随着经验上升这个趋势还是很明显的:
对3-4年那一列降序,可以看到,3-4年经验集中的薪酬是1.5万左右。
一年经验则是集中在万元以下,八千左右的价位段。
对于本科的分析也是类似:
3、薪资变化随着经验的增长,学历影响力的大小
硕士、本科的薪资对比大专中专的差异还是有的,对于应届生,除了硕士,基本差异不大。但是后面有经验后,本科的优势就体现出来了,本科还是有用的呀,也就是说学历因素影响比重更弱,这时候更看重经验。
其他的分析过程就不多做赘述了,主要是使用数据透视表和数据透视图进行多维度(城市,学历,工作经验)的分析。当然这只是分析了广州的,我们也可以汇总多个城市的,对比各个城市。
程师大专和本科的薪资差异并不是很大,35年经验,本科稍占优势。到510年,基本拉平,也就是说学历因素影响比重更弱,这时候更看重经验。
其他的分析过程就不多做赘述了,主要是使用数据透视表和数据透视图进行多维度(城市,学历,工作经验)的分析,没有其他复杂的技巧。
整个数据分析过程最费时间的数据清理,大约占据70%,更重要的是要明确目的。
参考
《数据挖掘与机器学习》
用Excel做一次数据分析(二)——一次简单的分析相关推荐
- 如何用Excel做一个战斗模拟器(二)属性表
如何用Excel做一个战斗模拟器(一)升级经验表 如何用Excel做一个战斗模拟器(三)战斗过程模拟 目录索引 属性表 属性表 首先确定人物的生命.攻击.防御.暴击值与闪避值属性.用公式将其设定为与等 ...
- excel 两组数据交点_让科研人相见恨晚的技巧,用Excel做柱状图、箱型图及数据分析!(转载自ZSCI)...
来源:ZSCI 让科研人相见恨晚的技巧,用Excel做柱状图.箱型图及数据分析! 面对大量的实验数据,却不知道如何快速的将自己想要的结果筛选出来.筛选后也只能做简单的数据图,绘制高级的图形又成了一个难 ...
- Excel做线性回归分析
Excel做线性回归分析 概要 一.身高体重线性分析 二.父母子女身高线性分析 1.母亲身高与子女的回归分析 2.父亲身高与子女的回归分析 3.结果分析 三.总结与参考资料 1.总结 2.参考资料 此 ...
- 如何用Excel做一个战斗模拟器(一)升级经验表
如何用Excel做一个战斗模拟器(二)属性表 如何用Excel做一个战斗模拟器(三)战斗过程模拟 目录索引 引言 确定战斗公式与怪物强度 确定人物升级经验 确定人物升级时间 确定升级所需经验 引言 作 ...
- 如何用Excel做一个战斗模拟器(三)战斗过程模拟
如何用Excel做一个战斗模拟器(一)升级经验表 如何用Excel做一个战斗模拟器(二)属性表 目录索引 定义战斗子过程 定位战斗双方基础属性 利用基础属性与战斗公式进行计算 战斗过程的运算与输出 判 ...
- 如何用Excel做一个战斗模拟器(四)装备的掉落与展示
如何用Excel做一个战斗模拟器(一)升级经验表 如何用Excel做一个战斗模拟器(二)属性表 如何用Excel做一个战斗模拟器(三)战斗过程模拟 目录索引 定义掉落表与装备表 怪物本身掉落装备 定义 ...
- excel 区间人数柱状图_原来用Excel做数据分析如此简单!
大家好,我是你们的勾妹,今天又来送干货啦. 在上期<分享两个用Excel处理数据的神技巧>中,我们重点讲了 vlookup 函数和透视表功能,今天再来给大家介绍几个非常实用的技能. 数据分 ...
- 1小时轻松学会用Excel做数据分析
如果你经常跟各类数据.表格打交道,一定明白Excel的重要性. 面对大量的数据,记录辛苦,汇总更辛苦.面对复杂的表格,搞不定,那是真搞不定:做不对,更是常态. 对职场人而言,掌握Excel,其实是在解 ...
- 如何使用Excel做数据分析【功能介绍】
大家用了很久的Excel,可能还不知道如何使用Excel做数据分析吧! 若是大家已经设置,情况如下: 数据 -- 分析 -- 数据分析 若是大家未设置,设置方法如下: 开始 -- 选项 这样就可以有数 ...
最新文章
- poj3169(差分约束+SPFA)
- 又有3位顶级数学家加盟华为,都是菲尔兹奖得主
- 我们真的需要深度图神经网络吗?
- Springboot实现文件上传,并防止同文件重复上传
- 1251 括号(递归小练)
- 加工生产调度(信息学奥赛一本通-T1425)
- jquery捕捉ctrl+enter(回车)事件
- Dev C++下载地址和安装教程(图解)
- 电脑、手机 自动化 键鼠操作( 类似按键精灵 )
- 网管教程+从入门到精通软件篇
- ffmpeg 的下载安装
- 日文简历 模板
- python去噪函数_Python | 简单的扩音,音频去噪,静音剪切
- 大学一年级计算机科学与技术教材,计算机科学与技术系授课计划及课程表一年级.PDF...
- 前端语音转文字实践总结
- 最大公因数、最小公倍数求法(C++)
- 股票多空量化策略通过合理释放beta收益一定程度上提升了组合的收益风险比?
- 一文讲透,商业智能BI的未来形态,发展现状及前景分析|推荐收藏
- 马明哲辞任中国平安CEO;Shake Shack将进驻中国华南首站深圳 | 美通企业日报
- 使用vue中的transition标签实现点击缓慢展开,再点缓慢关闭