SKILL.md
数据清洗闸门#
在任何分析、建模、入库之前对数据集做逐项体检。纯指令技能:不带脚本、不联网、默认不写任何文件(实际执行清洗时除外),产出为清洗报告与决策表。
触发时机#
拿到任何「要开始算」的数据集(表格、导出文件、接口数据)先过本闸门,禁止跳过清洗直接统计。
九项检查(逐项过,每项都要写结论)#
- 结构:行列数是否符合预期,字段名是否与文档一致;
- 缺失:逐列统计缺失比例;区分「真空值」「空字符串」「占位符(如 -1、N/A)」;
- 重复:全行重复与业务键重复分开统计;
- 异常值:数值列的分位数分布;超出物理可能范围的值(如年龄 300);
- 类型:数字被存成字符串、日期格式混杂、前导零丢失;
- 编码:乱码、全半角混用、隐藏字符(BOM、不可见空格);
- 单位:同一列混用单位(元与万元、米与厘米);写明统一后的单位;
- 时区:时间戳是否带时区,多来源时间是否可对齐;
- 业务规则:跨字段校验(结束时间晚于开始时间、状态机合法迁移)。
处理决策表#
| 列 | 问题 | 决策 | 理由 |
决策取值:保留 / 修正 / 删除 / 标记待定。每条决策写理由;「删除行」必须给出比例,超过 5% 的删除要单独列出影响。
清洗报告(输出物)#
- 数据集概况:来源、行数、列数、时间范围;
- 九项检查结论表;
- 处理决策表;
- 前后对比:清洗前后行数、关键列分布变化(均值、分位数、缺失率);
- 遗留风险:无法修复或拿不准的问题,逐条列出影响面。
红线#
- 清洗不改变业务含义:修正必须有依据(文档、对照表、上游确认),没有依据的宁可标记待定;
- 不静默删除:任何删除都要在报告里可追溯;
- 报告里的数字必须来自对数据的实际统计,禁止估数。
用途与依赖
作者没写,这些是平台读文件后整理的,以文件为准。
使用示例
请求:这份销售明细表我刚拿到,先帮我看看有没有问题,能不能直接拿去算月度报表?
预期
按九项检查逐项过一遍:先报数据集概况(来源、行数、列数、时间范围),再给九项检查结论表,比如“金额列 3.2% 为空字符串、0.8% 为占位符 -1”“订单号业务键重复 12 条”“日期列存在 2024/01/05 与 2024-01-05 两种格式”“金额列混用元与万元”。随后给出处理决策表,每行写明列名、问题、决策(保留/修正/删除/标记待定)与理由;涉及删除行的给出比例,超过 5% 时单独列出影响面。最后输出清洗前后对比(行数变化、关键列均值与分位数、缺失率)与遗留风险清单。没有依据可修正的问题会标记待定而不是直接改。
- 适用场景
- 刚拿到一份表格或导出的 CSV,正式统计前想先做一次数据体检
- 发现数据里缺失、重复、异常值说不清,需要系统排查并记录处理决策
- 同一列单位或时间时区混用,需要确认统一口径
- 多个来源的数据需要对齐时间戳、编码与字段命名
- 建模前的数据质量核查,需要一份可交付的清洗报告
- 向他人交付清洗结果前,需要说明删改比例与遗留风险
- 输入
- 待清洗的数据集文件(表格、导出文件或接口数据导出)
- 字段含义说明或数据字典(用于校验字段名与业务规则)
- 已知的单位、时区口径及对照表(如有)
- 业务规则约束,如时间先后、状态流转的合法范围
- 输出
- 数据集概况:来源、行数、列数、时间范围
- 九项检查结论表
- 处理决策表(列 / 问题 / 决策 / 理由)
- 清洗前后对比:行数、关键列均值与分位数、缺失率变化
- 删除比例及超过 5% 的删除影响说明
- 遗留风险清单及影响面
- 运行环境
- 未说明
- 依赖
- 无

