/knowledge/elements-of-data-processing
数据处理要素
没人会把它放进高光集锦的工作——却是决定下游一切成败的工作。在模型之前、在图表之前,数据必须被整理成形。
- 学于
- 数据处理要素理学学士 · 数据科学核心
- 时间
- 墨尔本大学,2019–2022
- 应用于
- 每个项目都从这里开始
- 阅读 / 复习
- 约 14 分钟阅读2026-06-25
有一个数字,每位数据科学家都是吃过苦头才学会的:大约 80% 的工作是准备数据,只有最后 20% 才是人人挂在嘴边的建模。原始数据几乎从不是拿来就能用的——它 杂乱、不一致、散落在各个来源、且满是缺口。把它变成干净、可分析之物,就是数据处理,也是这个领域其余一切赖以站立的地基。
它不光鲜,但杠杆就在这里:世上最好的模型也救不了糟糕的输入(垃圾进,垃圾出), 而细致的准备能让哪怕最简单的方法也奏效。本页讲的就是那门实用的手艺——步骤、原则与 陷阱——把原始数据变成一张你真正能信赖的干净表格。
01
不光鲜的那 80%
为什么数据准备占了大头?因为原始数据是为你分析之外的某个目的而采集的——一份 交易日志记录的是销售,而非你的研究问题——所以它从不会以你需要的形状到来。它有拼写 错误、缺失字段、不一致的格式(「NSW」/「N.S.W.」/「New South Wales」)、重复记录,以及 干脆就是错的值。
这门纪律之所以要紧,是因为这里的每个错误都会向下传播。一个解析错的日期、一行被悄悄 丢掉的记录、一处单位混淆——它们都不会自报家门,却都在悄悄腐蚀下游的一切。所以目标 不只是「把数据清干净」;而是要有意识地、可复现地清,确切知道你改了什么、为 什么改。被信任的分析师,是那些数据准备经得起审计的人。
02
数据管线
数据处理最好被看作一条管线——一连串阶段,把原始输入变成可供分析的数据。 无论什么项目,这些阶段大致总是相同的:
- 获取——从来源(文件、数据库、API)拉取数据。
- 清洗——修正错误、处理缺失值、移除重复。
- 转换——重塑、派生新字段、统一格式。
- 整合——把多个来源合并成一个连贯的数据集。
- 存储——把结果以可供分析的形式保存。
03
数据的类型与结构
处理有多难,取决于数据本身已经有多结构化:
- 结构化——带固定模式的整齐行列,如一张 数据库表或一个 CSV。最容易处理。
- 半结构化——有一些组织,但没有刚性的表格形状:JSON、XML、日志文件。 常见于 Web API,需要展平 成表格。
- 非结构化——自由文本、图像、音频。没有天然的表格形式;从中提取特征本身 就是一个项目(NLP 页对 文本而言正是此事)。
搞清每一列的测量类型也很值得——数值(连续或计数)、类别(有序或无序)、 日期/时间——因为它决定了哪种清洗、哪种分析才有效。把邮编当作数字,或把一个有序的评分 当作无序,是一个经典且代价高昂的失误。
04
整洁数据
最有用的单一组织原则是整洁数据,它简单得有点出人意料:每个变量 是一列,每个观测是一行,每个单元格放一个值。遵循这种形状的数据,过滤、分组、 连接、作图都轻而易举;不遵循的,则在每一步都跟你作对。
大多数杂乱的真实数据都违反它——值被塞进列名(一年一列)、多个变量挤在一个单元格里 (「男 25–34」)、或一个观测被摊在好几行上。「数据整理」中很大一部分,不过是把杂乱 数据重塑成整洁的形状,之后分析就几乎变得容易了。学会认出整洁的形状,你每次就有了一个 可供整理的目标。
05
清洗
清洗是这项工作的核心——找出并修正错的东西。反复出现的活计:
- 缺失值——逐例决定:丢掉这一行、丢掉这一列,或插补(用 均值/中位数,或一个模型来填)。危险的做法是无视它们——并且永远要问为什么缺失,因为「未记录」与「不适用」意思不同。
- 重复——同一条记录录入两次会悄悄地重复计数;去重,但要小心(两个真实的 人可能同名)。
- 离群点——标出极端值并加以调查。有些是错误(打错成 200 岁的年龄);有些 则是最重要的真实信号。切勿盲目删除。
- 不一致的格式与类型——统一日期、单位、类别与大小写;解析以文本存储的 数字。这是清洗中乏味的大头,也是可复现性最要紧之处。
06
重塑与连接
有了干净的列,两种转换承担了大部分重活。重塑在宽(一类一列)与长(一类一行)之间搬动数据——透视与熔化——以达到某个任务所需的整洁形状。连接按一个共享的键把数据集缝在一起,与数据库 页上的 SQL 连接是完全相同的操作:内连接只保留匹配项,左连接保留一侧的全部。把 来源整合好——并且不在过程中意外地把行翻倍或丢掉——是一项核心的数据处理技能。
07
把数据取进来
在那一切之前,你得先把数据弄到手——而它从哪里来,塑造了你如何处理它:
- 文件——CSV、Excel、JSON。简单,但要留意编码和不一致的模式。
- 数据库——用 SQL 精确 查询你需要的那一片,而不是把一切都拉出来。
- API——通过 Web 请求结构化数据,通常是 JSON,常常分页。
- 网页抓取——在没有 API 时,从为人而建的页面里提取数据。强大却脆弱,而且 你必须尊重条款与速率限制。
无论来源如何,第一步都一样:在转换之前先理解数据——它的形状、它的类型、它的 怪癖。事先的探索性检查,能让你免于清洗错了东西。
08
特征与可复现性
处理逐渐过渡到特征工程——创造模型真正从中学习的输入列:从出生日期派生 「年龄」、把类别编码成数字、把值缩放到一个共同的范围、把一个连续变量分桶。深思熟虑的 特征,常常胜过在原始输入上跑一个更花哨的算法,这正是为什么这一步藏着许多真正的建模 功夫——它是通往机器学习页 的入口匝道。
支撑这一切的是可复现性:从原始到就绪的整条路径,都应是一段任何人都能 重跑、得到完全相同结果的脚本。正是这一点让数据工作可信、可审计——也是「人们能依赖的 分析」与「没人能解释的数字」之间的区别。数据质量——完整性、准确性、 一致性、时效性——是你处理时所朝向的标准。
09
它在我工作中的体现
10