自己生成一个数据集,分别进行:空值、重复值、异常值的处理。 生成一个多个数据集,进行数据的堆叠实验。
时间: 2024-06-11 08:06:05 浏览: 100
数据集:学生信息表
| 学生姓名 | 年龄 | 性别 | 学号 | 成绩 |
| -------- | ---- | ---- | ---- | ---- |
| 张三 | 18 | 男 | 001 | 95 |
| 李四 | 19 | 女 | 002 | 87 |
| 王五 | 17 | 男 | | 92 |
| 小明 | 20 | 男 | 003 | 89 |
| 李华 | | 男 | 004 | 91 |
| 小红 | 18 | 女 | 005 | 96 |
| 王二 | 20 | 男 | 006 | 82 |
| 王三 | 19 | 男 | 007 | 94 |
| 小李 | 21 | 男 | 008 | 88 |
| 小张 | 18 | 女 | 009 | 90 |
| 小刘 | 20 | 男 | 010 | 97 |
| 王一 | 17 | 男 | 011 | |
| 张四 | 19 | 男 | 012 | 93 |
| 张五 | 18 | 女 | 013 | 85 |
空值处理:
1. 删除包含空值的行。例如,删除学号为null的行:
```sql
DELETE FROM student WHERE 学号 IS NULL;
```
2. 对于缺失的年龄和成绩,可以填入平均值。例如,将年龄缺失的学生的年龄填入平均年龄:
```sql
UPDATE student SET 年龄 = (SELECT AVG(年龄) FROM student WHERE 年龄 IS NOT NULL) WHERE 年龄 IS NULL;
```
重复值处理:
1. 删除重复值。例如,删除学号重复的行:
```sql
DELETE FROM student WHERE 学号 IN (SELECT 学号 FROM student GROUP BY 学号 HAVING COUNT(*) > 1);
```
2. 将重复值合并成一行。例如,将学号相同的学生的成绩求平均值:
```sql
SELECT 学生姓名, 年龄, 性别, 学号, AVG(成绩) AS 成绩 FROM student GROUP BY 学号;
```
异常值处理:
1. 删除异常值。例如,删除成绩小于60分的行:
```sql
DELETE FROM student WHERE 成绩 < 60;
```
2. 将异常值替换为正常值。例如,将成绩大于100分的学生的成绩修改为100分:
```sql
UPDATE student SET 成绩 = 100 WHERE 成绩 > 100;
```
数据堆叠实验:
生成两个数据集,分别为学生信息表和学生选课信息表:
学生信息表:
| 学生姓名 | 年龄 | 性别 | 学号 |
| -------- | ---- | ---- | ---- |
| 张三 | 18 | 男 | 001 |
| 李四 | 19 | 女 | 002 |
| 王五 | 17 | 男 | 003 |
| 小明 | 20 | 男 | 004 |
| 李华 | 21 | 男 | 005 |
| 小红 | 18 | 女 | 006 |
| 王二 | 20 | 男 | 007 |
| 王三 | 19 | 男 | 008 |
| 小李 | 21 | 男 | 009 |
| 小张 | 18 | 女 | 010 |
学生选课信息表:
| 学号 | 课程名称 | 课程成绩 |
| ---- | -------- | -------- |
| 001 | 数学 | 95 |
| 002 | 语文 | 87 |
| 003 | 英语 | 92 |
| 004 | 物理 | 89 |
| 005 | 化学 | 91 |
| 006 | 历史 | 82 |
| 007 | 政治 | 94 |
| 008 | 地理 | 88 |
| 009 | 生物 | 90 |
| 010 | 美术 | 97 |
将两个数据集堆叠在一起:
```sql
SELECT 学生姓名, 年龄, 性别, student.学号, 课程名称, 课程成绩 FROM student JOIN course ON student.学号 = course.学号;
```
得到的结果为:
| 学生姓名 | 年龄 | 性别 | 学号 | 课程名称 | 课程成绩 |
| -------- | ---- | ---- | ---- | -------- | -------- |
| 张三 | 18 | 男 | 001 | 数学 | 95 |
| 李四 | 19 | 女 | 002 | 语文 | 87 |
| 王五 | 17 | 男 | 003 | 英语 | 92 |
| 小明 | 20 | 男 | 004 | 物理 | 89 |
| 李华 | 21 | 男 | 005 | 化学 | 91 |
| 小红 | 18 | 女 | 006 | 历史 | 82 |
| 王二 | 20 | 男 | 007 | 政治 | 94 |
| 王三 | 19 | 男 | 008 | 地理 | 88 |
| 小李 | 21 | 男 | 009 | 生物 | 90 |
| 小张 | 18 | 女 | 010 | 美术 | 97 |
阅读全文