网站首页 > 知识剖析 正文
获取数据后,对数据的清洗工作必不可少,常用的数据清洗方法主要有缺失值填充、数值替换、数据类型转换、数据分列、重复值处理等,清洗的数据结果直接影响最后数据分析的结果,一个成熟的数据分析师,在日常工作中绝大多数时间都在数据清洗,下面一起学习。
缺失值填充
缺失值处理,可以使用均值、线性插值等方法进行填充,这里使用均值来作为填充值填充,首先计算分数的平均值,然后筛选分数为空的行,使用UPDATE函数将空值填充为平均值。
#计算score列的均值
SELECT AVG(score) AS avg_score
FROM score;
#使用均值填充空值
UPDATE score SET score=74
WHERE score is null;
select * from score;
清理空格
清理字符中的空格,使用的是TRIM函数,并且用UPDATE函数更新表格。
#清理字符中的空格
UPDATE course SET Cname=TRIM(Cname);
select * from course;
数值替换
REPLACE函数可以对字符进行替换,类似于EXCEL的替换功能。
#修改和替换
UPDATE course
SET Cname=REPLACE(Cname,'语文','语文-A');
select * from course;
大小写转换
小写转换可以用LOWER函数,大写转换可以用UPER函数,这里使用LOWER函数将大写A转换为小写a。
#大小写转换
UPDATE course
SET Cname=LOWER(Cname);
select * from course;
数据类型转换
数据类型转换用CONVERT函数,括号中第一个写要转换类型的值,第二个写要转换成的数据类型,此处将出生日期转换为日期类型。
SELECT Sname,CONVERT(Sage,date) as '出生日期'
FROM student;
mySQL常用的数据类型如下:
数据分列
数据分列与EXCEL的功能相似,这里使用到的函数是SUBSTRING_INDEX,这里将"语文-A",分列成科目 语文 与评级为 A 两部分。
#数据分列
SELECT
SUBSTRING_INDEX(cname,'-',1) AS '科目',
SUBSTRING_INDEX(cname,'-',-1) AS '评级'
FROM course;
分列后的数据可以通过更新增加在原数据表中,下面是具体的代码。
#数据分列(改表),添加两个空字段
ALTER TABLE course
ADD (col1 VARCHAR(255),col2 VARCHAR(255));
SELECT * FROM course;
#更新分列后的字段内容
UPDATE course SET col1 = SUBSTRING_INDEX(cname,'-',1),
col2 =SUBSTRING_INDEX(cname,'-',-1);
SELECT * FROM course;
重复值处理
重复值的处理使用到DISTINCT函数,也可以使用数据分组功能,实现将某个字段去除重复值的功能。
#重复值
SELECT DISTINCT CId,Cname
FROM course;
- 上一篇: C#中使用FreeSql分表查询的实现及bug
- 下一篇: 抢券第一课:三种方法获取Cookie
猜你喜欢
- 2024-12-04 C#中使用FreeSql分表查询的实现及bug
- 2024-12-04 SQL 基础学习插入数据(十三)
- 2024-12-04 利用VBA+SQL查询Excel工作表数据(条件查询)
- 2024-12-04 初学者最热门和棘手的10个T-SQL问题
- 2024-12-04 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程
- 2024-12-04 数据库基础 数据查询语言 初学者一定要掌握这些SQL查询语句
- 2024-12-04 20个数据分析师必知必会的SQL查询语句
- 2024-12-04 SQL查询排序如何将null值排到最后
- 2024-12-04 一文讲懂SQL条件语句 IF函数
- 2024-12-04 SQL注入漏洞之MySQL手工注入
- 最近发表
-
- 表格存储 SQL 查询多元索引(表格存储 sql 查询多元索引的方法)
- 数据库教程-SQL Server多条件模糊查询
- Twitch宣布放弃Flash并逐步转型至HTML5平台
- 移动平台最强播放器MX Player:终于支持安卓5.0了!
- win10 NFS+黑群晖远程加载管理Windows文件夹(读写NTFS格式+高清播放器)
- Android端VLC 3.3版本发布,重新设计播放器界面
- 不仅仅被苹果封杀!Youtube宣布迁移Flash
- 揭开网站背后的魔法:B/S系统原来这么简单!
- Adobe Animate (An) 2020网页设计软件下载和安装教程
- Adobe发布“巨量”安全更新:遏制Flash“祸害”Linux
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)