之前已利用excel及power BI处理分析过数据分析师岗位职位需求,经过对sql的学习,基本掌握增删改查的相关操作,现在利用sql对资料进行分析。
excel对于数据量较小时可以处理,数据量较大时,可利用sql进行处理分析。
一、确定分析目标
1、对数据分析师需求比较大的城市有哪些
2、对数据分析师需求较大的行业领域
3、数据分析师的职业发展及薪资
4、数据分析师的教育要求与薪资
二、导入数据
安装好客户端Navicat即图形工具界面后,连接需要的数据库服务端,连接时,自主设置连接名,用户名及密码需安装服务端的人员提供,连接成功会在客户端左侧显示出相应的数据库名称,双击即可查看。
可直接双击数据库中的表进行操作,若不存在需要的表,可从本地导入。
导入数据,右击表,选择导入向导,选择文件格式,本文数据为csv格式,按步骤下一步,从相关路径中选择文件、对应的编码,下一步......尽量不在导入时设置主键,除非原表已删除重复值,并已确定主键。
选择编码需与文件一致,UTF-8;文件如果不是UTF-8,用excel打开文件,选择另存为,窗口右下角:工具→Web选项→编码中更改。
三、数据清洗
1、根据分析目标确定需要留下的数据。
2、复制表格
原表不要删除,复制一份进行操作:复制表可直接在客户端进行,也可用sql语句。
① 在客户端进行复制,命名da2:
② 使用sql语句复制:
只复制表不复制数据:
create table da3 like dataanalyst;
结果:
表数据和结构都复制:
create table da4 select * from dataanalyst;
结果:
3、数据清洗(上述复制的三张表只留一张da2,其余已删除)
① 删除多余的列:
alter table da2 drop column 列名1(,drop column 列名2......);
② 去掉重复值:
select distinct positionid,city,companyshortname,positionname,education,positionlables,industryfield,salary,workyear from da2;
将去重的结果表导出:点击上方导出结果
导出为csv文件,直接用excel打开会乱码,可先用记事本txt文件形式打开,再另存为utf-8编码即可。
再用导入文件步骤将去重后的表格导入数据库中,命名da3,同时可设置positionid为主键;
也可通过sql语句设置主键:
alter table da3 add primary key (positionid);
③ 筛选出相关岗位:
select * from da3 where positionname like '%数据分析%' or positionname like '%数据运营%' or positionname like '%分析师%';
可将表格重新导出另存为再导入;或者执行完所有数据清洗的步骤之后再讲结果导出再导入。
④ 计算出所需要的列(最新保存的表命名da4):
对salary列进行处理:
增加最低薪资、最高薪资及平均薪资列:
计算最低薪资:
计算最高薪资:
因薪资列有的格式为‘?k以上’,所以用if语句判断,如果薪资列格式不是'?k-?k',则最高薪资=最低薪资。
计算平均薪资:
四、构建模型
1、对数据分析师需求比较大的城市有哪些
sql语句:
执行结果:
从结果可以看出,北京、上海、深圳、广州、杭州对数据分析师的需求比较大,北京需求量最大,占比46.18%,因此找工作北京机会最多。
2、对数据分析师需求较大的行业领域:
sql语句:
执行结果:
从表中可以看出,金融、移动互联网和电子商务行业对数据分析师的需求较高。
3、数据分析师的职业发展及薪资
① 查询移动互联网、电子商务、互联网金融这三个行业的数据分析师薪资
sql语句:
执行结果:
②工作经验对应的岗位需求和薪资
sql语句:
执行结果:
从结果可以看出,工作3年左右的人才需求较大,而薪资也是随着工作年限的增加而提高;作为应届毕业生,既无社会经验也无工作经验,其薪资也是最低。
4、数据分析师的教育要求与薪资
不同教育程度的岗位需求及薪资:
sql语句:
执行结果:
从执行结果可以看出,本科生需求最大,其次是大专和硕士,博士生最少;薪资方面,本科和硕士差别很小,博士作为最高学历,薪资也是最高。
试着加入城市划分:
从上述执行结果可以看到:针对数据分析师这个岗位,各城市所能提供的不同学历对应的职位数量及薪资水平,可供求职者参考。
以上为sql的简单应用,原资料来源:秦路:《七周成为数据分析师—Excel实战篇》。