ThinkingAI Logo
返回博客列表

数据预处理包含哪些步骤?从原始数据到可分析数据

从任务口径、数据概览、字段统一、清洗、关联、变换到验收,拆解数据预处理的完整步骤,并给出可分析数据集的验收清单、常见错误处理与预处理和分析的边界。

2026-10-2611分钟
数据预处理包含哪些步骤?从原始数据到可分析数据

数据预处理包含哪些步骤?按企业分析项目的真实依赖顺序,可以拆成八步:定任务与口径、数据概览、字段统一、数据清洗、数据集成、数据变换、数据规约、验收交付。每一步都有明确产出,前一步没做稳,后一步很容易返工。

步骤数量在不同资料里不一样。经典数据挖掘教材把预处理归为数据清洗、数据集成、数据变换、数据规约四类,讲的是问题类型;CRISP-DM 把数据准备拆成选择、清洗、构造、集成、格式化五项任务,讲的是项目动作。企业分析还要在前面补任务口径,在后面补验收,所以实际执行会更细。

dbt Labs 2024 年的分析工程调查中,456 名数据从业者里有 55% 把维护或整理数据集列为最耗时的任务,57% 把数据质量列为准备分析数据时的主要挑战之一。预处理做不稳,后面的分析和决策都会被拖慢。

数据预处理包含哪些步骤

把原始数据变成可分析数据,建议按下面的顺序推进。顺序不是形式,它决定了哪些错误会被提前拦住。

步骤要解决的问题主要产出通过标准
1 定任务与口径这次分析回答什么,指标怎么算任务卡、指标定义两人按同一份定义取数能对上
2 数据概览数据范围、粒度、质量问题在哪数据质量报告关键问题有影响评估和处理优先级
3 字段统一字段含义、类型、时区是否一致字段字典、类型映射同一对象在不同表中能正确关联
4 数据清洗缺失、重复、异常、不一致清洗日志、清洗后数据每条规则可追溯,处理可回退
5 数据集成多表关联后粒度是否保持关联宽表、核对记录行数、命中率、金额对账通过
6 数据变换指标和特征是否按统一公式生成变换说明、可复算脚本公式、参数、版本固定
7 数据规约数据量和维度是否适合计算规约后的数据集分析结果与全量结果一致或差异可解释
8 验收交付数据能否被别人复现使用数据集、字段字典、质量记录验收清单逐项通过

第 7 步按需做。一次月度经营分析通常不需要降维;建模前特征过多、全量数据跑不动时,才需要规约。

第 1 步:定分析任务和指标口径

先写清要回答的问题,再打开数据表。 以付费转化分析为例,至少要定义五件事:转化事件是支付成功还是创建订单;分母是新注册用户、活跃用户还是进入支付页的用户;统计窗口是自然日、7 日还是滚动 30 日;退款、测试订单、渠道补单算不算;同一用户多次付费按人算还是按订单算。

这些定义写进一页任务卡,包含分析问题、指标公式、统计粒度、时间范围、过滤条件、数据源和负责人。任务卡不需要很长,关键在于所有协作方看同一份。

口径没定就清洗,常见后果是洗完才发现分母多了一批测试账号,或者分子把退款订单算成了收入。 这时返工的不只是数据,还包括已经发出的报表和基于报表做的判断。

第 2 步:做数据概览和质量检查

先看数据长什么样,再决定怎么洗。数据概览至少看七项:行数、时间范围、主键是否唯一、关键字段空值率、枚举值分布、数值分布、与其他表的关联覆盖率。

这一步只记录问题,不急着改。按影响排序:会导致指标算错的先处理,只影响展示的后处理。例如支付表里 order_id 有重复,先确认是多次回调还是多笔支付;前者要去重,后者不能删。

数据概览的产出是一份数据质量报告,写清问题、影响范围、处理建议和负责人。报告不用漂亮,能让下一个接手的人知道哪里埋了雷就够了。

第 3 步:统一字段语义、类型和时区

字段统一包括三件事:语义、类型、时区。它们看起来琐碎,却是多表分析里最常见的错误来源。

字段语义

字段字典至少写清字段名、业务含义、单位、来源表、允许值和负责人。跨系统关联的 ID 建议用字符串,避免前导零丢失或精度问题。

user_id、uid、account_id 可能指同一个对象,也可能不是。先做字段映射,再写关联条件。字段同名但含义不同,比字段不同名更危险。

数据类型

金额用定点小数或最小货币单位整数,避免浮点误差;时间用时间类型,不要用字符串比较;枚举值统一大小写和命名。类型转换失败的行单独留存,不能静默置空。

时区

事件表常按 UTC 记录,报表按业务时区展示。存储统一 UTC,查询时再转换。还要区分事件发生时间和数据入库时间,这两个时间回答的是不同问题。

跨时区业务要明确按哪个时区切日。有夏令时的地区,固定加减小时会错一小时,需要使用带时区规则的转换。验收信号是同一笔订单在订单表、支付表和报表中的日期一致。

第 4 步:清洗缺失、重复、异常和不一致

清洗解决数据质量问题,不负责定义业务口径。口径在第 1 步定,清洗只负责把不符合规则的值处理掉,并留下记录。

缺失值先判断原因。用户没填、系统没采到、业务本来就没有发生,是三种情况。次数类字段缺失可能表示没有发生,可以填 0;金额、时长、评分缺失填 0 会改变分布和均值。核心指标缺失优先回溯数据源,不能确认时标记缺失。

重复值分完全重复和业务重复。同一订单多次支付回调,订单号相同但回调时间不同,属于业务重复,要按订单号去重。异常值先判断是录入错误还是真实极值,真实的大客户订单不能因为看起来大就删。枚举值、单位、大小写、前后空格也要统一。

更细的缺失值填补和异常检测方法,可以看《AI 数据分析如何落地?取数、清洗、建模、可视化》,这里不重复。

清洗日志要记录规则、影响行数、处理人和回退方式。删除、覆盖、改口径之前,先备份原始表或保留快照。 没有回退路径的清洗,出问题时只能重跑整条链路。

第 5 步:数据集成与关联,先确认粒度再 join

关联前先问三个问题:两张表的粒度是否一致、关联键是否唯一、关联后行数会不会膨胀。

以订单表和支付表为例。订单表一行一个订单,支付表一行一次支付。一个订单可能失败两次后成功,直接按 order_id 关联,订单金额会被重复计算三次。正确做法是先按订单聚合支付表,再与订单表关联。

左连接保留主表全部记录,内连接只保留匹配记录。选择哪种取决于分析问题。默认内连接会静默丢掉未匹配的订单,月底对账时才发现少了。关联后做三项核对:主表行数是否保持、关联命中率是多少、金额或次数总和是否与源表一致。关联命中率就是匹配上的主表行数占主表总行数的比例。

有补数或迟到数据时,要约定回补时间窗和对账方式。关联后的宽表要能回答一行代表什么,否则后续所有聚合都不可信。

第 6 步:数据变换与特征构造

变换把字段整理成分析需要的形态,同时保留可解释性。常见动作包括派生指标、聚合、编码、分箱和标准化。客单价、付费间隔、用户月付费次数都属于派生指标。

保留原始字段和计算公式,不要只留变换后的结果。否则三个月后没人说得清这个字段怎么来的。变换说明写清公式、参数、依赖字段和版本,换个人也能复算。

做预测模型时,先划分训练集和测试集,再在训练集上拟合缺失值填补、标准化和特征选择。用全量数据算均值再标准化,会把测试集信息带进训练。scikit-learn 的文档把这类问题列为数据泄漏,推荐的解决方式是用 Pipeline 把变换和模型串起来。

只做描述性分析时,重点放在公式一致和结果可复算,不必为了建模做标准化。

第 7 步:数据规约,按需做

数据规约解决数据太大、维度太多、计算太慢的问题,按需做。建模前特征过多、全量数据跑不动、需要抽样验证时,可以考虑特征选择、采样、聚合或降维。

先理解数据再降维。字段压掉之后,业务解释成本会上升。对大多数经营分析,按业务粒度聚合比降维更实用。比如把用户行为明细聚合成用户日表,既减少数据量,也保留了解释能力。

规约后的数据要能通过一致性检查。用同一指标在规约前后各算一遍,结果一致或差异可解释,才能进入分析。

第 8 步:验收并交付可分析数据

预处理做完的标志是别人拿到数据能按同一口径复现结论,脚本跑通只说明流程能执行。验收时按下表逐项检查,任何一项不通过,都先回到对应步骤修正。

验收项检查方法不通过时的信号
范围与时间核对数据起止时间、时区、切日规则报表跨天对不上
粒度与主键确认一行代表什么,检查主键唯一同一订单出现多行
关键字段完整性统计空值率和缺失分布核心字段大面积缺失
类型与格式检查 ID、金额、时间、枚举前导零丢失、金额小数异常
关联完整性核对行数、命中率、金额总和关联后金额翻倍
指标一致性与源系统或旧报表对账差异无法解释
清洗可追溯查看规则、影响行数、回退方式只有结果,没有处理记录
变换可复算重跑脚本,核对公式和参数换个人算不出同样结果
风险与合规检查敏感字段脱敏、权限最小化明细数据暴露给无关人员
交付物齐全数据集、字段字典、质量报告、清洗日志只有一张表,没有说明

验收时抽一批明细人工核对,比只看总数更容易发现关联错误。交付物至少有三类:可分析数据集、字段字典、质量与清洗记录。缺一项,后面就会靠口头解释补。

数据预处理和数据分析的边界在哪里?

这两个阶段会来回迭代,但交付物不同。边界不清楚,最容易出现的情况是每个报表各有一套口径,最后没人知道该信哪一份。

问题归属判断标准
付费转化率怎么定义预处理形成统一公式和过滤条件
本周付费转化率为什么下降分析需要拆维度、验证假设、给结论
用户分群标签怎么打预处理标签规则可复现
哪类用户更值得运营分析需要比较收益、成本和可执行性

一个简单的判断:预处理回答这份数据能不能用、按什么口径用;分析回答业务为什么这样、接下来做什么。

边界清楚,返工就会少。分析阶段发现口径问题,回到第 1 步修改任务卡,不要在每个报表里各改一套。

AI 数据分析 Agent 能接手哪些预处理工作?

重复的字段检查、口径核对、SQL 生成、结果复核,适合交给 Agent 做第一遍。ThinkingAI 的数据分析 Agent 支持自然语言问数、多轮追问、归因分析和可视化,也能通过多 Agent 协作把取数、分析、报告串起来。它可以在已治理的数据上快速做字段盘点、异常定位和一致性检查,减少手工翻表。

指标定义、异常是否可接受、关联后金额为什么对不上,这些判断仍要由数据负责人确认。Agent 给的是可复核的中间结果,不能替代业务签字。

如果底层表结构混乱、字段没有定义,Agent 也会跟着乱。先把字段字典和指标口径建起来,再让 Agent 接手,效果会稳定得多。ThinkingAI 已服务全球超 1500 家企业、接入产品超 8000 款,这类预处理与分析衔接的场景,是数据团队常见的落地需求。

数据预处理常见问题

数据预处理一定要按这个顺序做吗?

大方向按依赖走,实际项目会迭代。字段统一和清洗可能交替进行,关联后发现新问题也会回到清洗。顺序的价值在于每一步都有产出,返工时有据可查。

缺失值可以直接填 0 吗?

看字段含义。次数类字段缺失可能表示没有发生,可以填 0;金额、时长、评分缺失填 0 会改变分布和均值。核心指标缺失优先回溯数据源,不能确认时标记缺失。

数据清洗和数据预处理有什么区别?

数据清洗是预处理的一部分,主要处理缺失、重复、异常和不一致。预处理还包括任务口径、字段统一、集成、变换、规约和验收。

时区为什么会让日报对不上?

事件按 UTC 记录,报表按本地时区切日,跨零点的事件会落到不同日期。有夏令时的地区,固定加减小时还会错一小时。存储统一 UTC,展示按业务时区转换,切日规则写进指标定义。

数据预处理一般要花多久?

取决于数据源数量、质量问题和口径复杂度,没有固定时长。先做数据概览,按问题影响排序,再决定投入,比拍一个工时更可靠。

小数据集也要做预处理吗?

要做,但可以轻量。字段含义、主键唯一性、时间范围和关键指标对账不能省;复杂的规约和特征工程可以不做。

AI 能自动完成数据预处理吗?

能接手一部分,比如字段盘点、重复值检查、SQL 生成和结果对比。业务口径、异常判断和最终验收仍要人确认。数据基础越规范,Agent 的自动化越可靠。

参考资料

  • Phase 3 of the CRISP-DM Process Model: Data Preparation,Dummies,https://www.dummies.com/article/technology/information-technology/data-science/general-data-science/phase-3-of-the-crisp-dm-process-model-data-preparation-148177/
  • Data Preprocessing,Data Mining and Data Warehousing,Cambridge University Press,https://www.cambridge.org/core/books/abs/data-mining-and-data-warehousing/data-preprocessing/9E68037A7A8D0E5032B57E2AF1485C12
  • Common pitfalls and recommended practices,scikit-learn,https://scikit-learn.org/stable/common_pitfalls.html
  • 2024 State of Analytics Engineering,dbt Labs,2024,https://www.getdbt.com/resources/state-of-analytics-engineering-2024

准备好构建你的 Agent 团队了吗

立即体验 Agentic Engine, 让 AI 成为真正的团队成员

ThinkingAI Big Logo
电话咨询