SQL做数据分析流程
一、提出问题
二、理解数据
数据获取,了解数据来源及说明。
三、数据清洗
数据清洗基本概念 数据清洗(Data cleaning)– 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。
1、数据预处理
①将数据导入处理工具。
②看数据。1.通过看元数据,包括字段解释、数据来源等信息2.抽取部分数据进行了解,比如使用limit 查看几行数据
2、缺失值处理
①判断是否为空值
查询字段值为空的语法:where <字段名> is null
查询字段值不为空的语法:where <字段名> is not null
#单字段查询空值
select * from tb where dates is NULL;
select * from tb where ISNULL(id)
#多字段查询空值
SELECT * FROM tb WHERE col_1 IS NULL OR col_2 IS NULL OR col_3 IS NULL;
②判断是否为空字符串
SELECT * FROM tb WHERE col_1 = '' OR col_2= '' OR col_3 = '' OR col_4 = '' ;
③筛选查看哪些字段存在空字符串
SELECT * FROM tb WHERE null_col=''
④处理缺失值
a. 确定缺失值范围
处理缺失值的方法有:填充缺失值、删除缺失数据。
b. 去除不需要的字段
删除前注意有写where等条件筛选语句,清洗前数据先备份或者在小规模数据上试验成功再处理全部数据,删错追悔莫及。
c.填充缺失值
以业务知识或经验推测填充缺失值
以同一指标的计算结果(均值、中位数、众数等)填充缺失值
以不同指标的计算结果填充缺失值
d.重新取数
当某些指标非常重要但缺失率高的情况下,需要重新取数,尝试从其他渠道取数补全
- 1⃣️
3、数据一致化处理
一致化处理就是对数据进行数据抽取,使得数据字段满足基本的数据分析需求。一般根据需求进行更新操作。比如数据类型转换,提取关键需求字段,日期格式转换,提取时间等。
如果数据是由系统日志而来,那么通常在格式和内容方面,会与元数据的描述一致。而如果数据是由人工收集或用户填写而来,则有很大可能性在格式和内容上存在一些问题,简单来说,格式内容问题有以下几类:
格式内容清洗:
①时间、日期、数值、全半角等显示格式不一致
②内容中有不该存在的字符
③内容与该字段应有内容不符
4、数据排序
5、异常值处理
逻辑错误清洗:
去除不合理值
可用但不限于箱形图发现离群值
修正矛盾内容
有些字段是可以互相验证的,举例:身份证号是xxxxxx1980XXXXXXXX,然后年龄填18岁。
重复值清理
四、构建模型和分析问题(描述分析)
五、数据可视化(解决需求)
参考资料: