筛选缺失值

AI 助力的 SQL 查询进阶

Jasmin Ludolf

Senior Data Science Content Developer

缺失值

SELECT title, release_year
FROM films
ORDER BY release_year DESC, title ASC;
|title           |release_year|
|----------------|------------|
|10,000 B.C.     |            |
|A Touch of Frost|            |    
|Anger Management|            |    
|Animal Kingdom  |            |
...
AI 助力的 SQL 查询进阶

缺失值

SELECT COUNT(*) AS total_count
FROM films;
|total_count|
|-----------|
|4968       |
  • 统计所有记录
SELECT COUNT(language) AS language_count
FROM films;
|total_count|
|-----------|
|4957       |
  • 统计非缺失值
AI 助力的 SQL 查询进阶

缺失值

$$

  • 破坏计算
  • 扭曲平均值
  • 掩盖模式

$$

✅ 识别、选择、排除缺失值

❌ 修复或替换缺失值

破损的文档

AI 助力的 SQL 查询进阶

缺失值:NULL

原因:

  • 跳过字段
  • 系统故障
  • 未记录数值

$$

缺失值:

  • NULL:真正缺失
  • " " 或 "None"

缺失的拼图块

AI 助力的 SQL 查询进阶

IS NULL

提示: 显示语言为空的影片标题和语言

SELECT title, language
FROM films
WHERE language IS NULL;
|title               |language|
|--------------------|--------|
|Intolerance: Love...|        |
|Over the Hill to ...|        |
|The Big Parade      |        |
...
AI 助力的 SQL 查询进阶

IS NOT NULL

提示: 显示已定义语言的影片标题和语言

SELECT title, language
FROM films
WHERE language IS NOT NULL;
|title              |language|
|-------------------|--------|
|Metropolis         |German  |
|Pandora's Box      |German  |
|The Broadway Melody|English |
|Quest for Fire     |None    |
...
AI 助力的 SQL 查询进阶

识别其他"未知"

问号

$$

  • IS NULL 和 IS NOT NULL 只捕捉真正缺失的值

$$

  • 那"Not available"、"None"呢?
    • 不是真正缺失的 NULL
    • 但仍表示缺失或未知
AI 助力的 SQL 查询进阶

识别其他"未知"

提示: 显示语言为"None"的影片标题和语言

SELECT title, language
FROM films
WHERE language = 'None';
|title              |language|
|-------------------|--------|
|Quest for Fire     |None    |
|Samsara            |None    |
AI 助力的 SQL 查询进阶

查找变体

提示: 显示所有唯一的语言值

SELECT DISTINCT language
FROM films;
|language|
|--------|
|        |
|Arabic  |
...
|None    |
...
AI 助力的 SQL 查询进阶

过滤变体

提示: 显示语言不为 null 且不为 None 的影片标题和语言

SELECT title, language
FROM films
WHERE language IS NOT NULL AND language != 'None';
|title              |language|
|-------------------|--------|
|Metropolis         |German  |
|Pandora's Box      |German  |
|The Broadway Melody|English |
...
AI 助力的 SQL 查询进阶

处理零值

$$

  • 零:
    • 缺失分数?
    • 分数为 0?

$$

  • 需结合上下文:
    • 文档
    • 业务规范

数字零

AI 助力的 SQL 查询进阶

处理缺失值

  • 重要的分析技能
  • 可能影响结论

$$

  • 识别缺失值:
    • 探索字段以找出缺失
    • 需要时进行筛选
    • 聚合函数忽略 NULL,但包含 0
    • COUNT(*) 计数所有行,包括 NULL

放大镜

AI 助力的 SQL 查询进阶

准备练习了吗?

AI 助力的 SQL 查询进阶

Preparing Video For Download...