Module 03 · Data Engineering Lifecycle数据工程生命周期
Data Wrangling数据整理 (Data Wrangling):从原始数据到分析就绪
原始数据必须经过一系列的转换和清洗活动才能达到分析就绪 (analytics-ready) 的状态。
🔍 数据整理 (Data Wrangling) / 数据清洗 (Data Munging)
这是一个迭代过程,涉及数据探索、转换、验证,并使数据可用于可信且有意义的分析。它包括一系列的转换和清洗活动。
一、关键的数据转换任务
数据在分析场景中通常会经历以下几种关键转换任务:
1. 结构化 (Structuring)
此任务包括改变数据的形式和模式的行动。
- 目的:当数据来自不同格式(例如,关系型数据库和 Web APIs)时,需要改变其形式或模式才能合并。
- 复杂性:可以像改变记录或数据集内字段的顺序一样简单,也可以像将字段组合成复杂结构一样复杂。
结构化转换:连接与联合 (Joins and Unions)
连接 (Joins) 和联合 (Unions) 是最常用的用于组合来自一个或多个表格数据的结构化转换,但它们组合数据的方式不同:


| 转换类型 | 作用 | 机制 | 结果 |
|---|---|---|---|
| 连接 (Joins) | 组合列 (Columns)。 | 将第一个源表的列与第二个源表的列在同一行中组合。 | 结果表中的每行包含来自两个表的列。 |
| 联合 (Unions) | 组合行 (Rows)。 | 将第一个源表的数据行与第二个源表的数据行组合到一个单表中。 | 结果表中的每行来自其中一个源表。 |
2. 规范化与反规范化 (Normalization and Denormalization)
- 规范化 (Normalization):
- 目的:专注于清理数据库中未使用的冗余数据,减少不一致性。
- 适用场景:例如,来自事务系统(持续进行插入、更新和删除操作)的数据通常是高度规范化的。
- 反规范化 (Denormalization):
- 目的:用于将多个表中的数据组合到单个表中,以便更快地进行查询。
- 适用场景:来自事务系统的规范化数据,在运行报告和分析查询之前通常会被反规范化。
二、数据清洗 (Cleaning) 任务
清洗任务是修复数据中不规则性的操作,旨在产生可信和准确的分析。
1. 发现问题 (Detecting Issues)
数据清洗工作流程的第一步是检测数据集可能存在的不同类型的问题和错误。
- 脚本和工具:可用于定义特定的规则和约束,并对照这些规则和约束验证数据。
- 数据画像 (Data Profiling):帮助您检查源数据,了解数据的结构、内容和相互关系。
- 作用:揭示异常和数据质量问题,例如空白或空值、重复数据,或者字段值是否在预期范围内。
- 数据可视化 (Data Visualization):使用统计方法可视化数据,可以帮助您发现异常值 (Outliers)。
- 示例:绘制人口统计数据集中的平均收入图表可以帮助发现异常值。
2. 常见数据问题与处理方法
您选择的清洗技术将取决于您的用例和遇到的问题类型。
| 常见数据问题 | 描述 | 处理方法 | 示例 |
|---|---|---|---|
| 缺失值 (Missing Values) | 非常重要,可能导致意外或有偏差的结果。 | 1. 过滤掉包含缺失值的记录。 2. 找到方法获取缺失信息(如果对用例至关重要)。 3. 插补 (Imputation):基于统计值计算缺失值。 | 人口统计研究中缺失的年龄数据。 |
| 重复数据 (Duplicate Data) | 数据集中重复的数据点。 | 需要移除。 | - |
| 不相关数据 (Irrelevant Data) | 不符合用例上下文的数据。 | 可以将其视为不相关数据。 | 分析人口健康数据时,联系电话号码可能不相关。 |
| 数据类型转换 (Data Type Conversion) | 确保字段中的值以该字段的数据类型存储。 | 需要确保数值存储为数值类型,日期存储为日期类型等。 | - |
| 数据标准化 (Standardization) | 统一数据格式。 | 字符串值可能需要全部转换为小写;日期格式和计量单位需要标准化。 | - |
| 语法错误 (Syntax Errors) | 例如,字符串开头或结尾的多余空格。 | 需要纠正。 | 也包括修复拼写错误或格式,如州名全称(New York)与缩写(NY)的不一致。 |
| 异常值 (Outliers) | 与数据集中其他观测值差异很大的值。 | 需被检查。异常值可能正确,也可能不正确。 | 不正确示例:选民数据库中年龄字段的值为 5(需纠正)。正确但异常示例:一群人年收入在 $10 万至 $20 万之间,但有一人年收入为 $100 万(需查看)。 |
在本视频中,您了解了为了使原始数据达到分析就绪状态,需要执行的一些转换和清洗活动,以及数据画像和数据可视化如何帮助发现需要解决的问题。