Agent Skills
返回列表
📊

系统化数据清洗

数据分析 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/data-cleaning。

技能介绍

原始数据为什么总在拖慢分析

CSV、导出表和接口快照里常见的问题很固定:空值比例不一、重复行与近似重复、日期和金额混在字符串里、列类型与业务 schema 不一致,还有离群值把聚合结果带偏。若 Agent 只做读入再画图,这些问题会在下游反复暴露,且难以追溯改了什么。

技能如何组织清洗

本技能把清洗拆成可复现的阶段,而不是一次性黑盒改写。

  1. 摄取与探查:加载后立即产出质量报告——每列空值计数、重复行、类型是否符合预期、是否存在混合类型列,后续策略都建立在这份报告上。
  2. 缺失值:按列类型与缺失比例选策略;数值列缺失少于 5% 时可用中位数插补,类别列用众数或未知;缺失超过 40% 的列会标记为候选删除并在丢弃前征询你。
  3. 去重与冲突:精确重复保留首条;近似重复用可配置阈值的模糊匹配,并按时效性或完整性合并冲突字段。
  4. 类型与格式:使用 pd.tonumeric 与 pd.todatetime(含 errors=coerce)配合领域规则,统一电话、邮编、货币等表示。
  5. 离群值:对称分布用 IQR(1.5 倍),近正态用 z 分数;可选截断、置空待插补或仅标记保留原值。
  6. 校验与交付:用 great_expectations 等规则检查非空、范围、唯一性与参照完整性;输出干净数据集与清洗日志(每次转换及计数)。

工具链以 pandas 为主,pyjanitor 便于链式清洗,fuzzywuzzy 支撑近似重复检测。

适用边界

清洗应是可复现、非破坏性的:动手前保留原始副本。缺失非随机(MNAR)时,机械默认值往往不够,需要领域判断或与用户确认。完全空列会丢弃并告警;重复列名会在操作前重命名;编码失败会依次尝试常见编码并记录成功方案。

使用场景

  • 业务系统导出的 CSV 空值、重复行和字符串金额混杂,要在做聚合或建模前完成探查、插补、去重并输出可审计清洗日志。
  • 问卷或运营活动导出里同一列混用多种日期写法,需解析为 datetime、统一电话邮编等格式,再跑非空与范围校验后交给分析脚本。
  • 多表合并或客户主数据整理时,除精确重复外还要识别仅大小写或空白差异的近似重复,并按时效或字段完整度合并冲突值。
  • 对称或近正态数值列存在明显离群点,需按 IQR 或 z 分数选择截断、置空或仅标记,并在每个清洗阶段后复查 schema 违规项。

适合人员

  • 每周接收销售或运营导出 CSV、要先处理缺失值、重复与类型问题再进 BI 或 Python 分析的业务数据分析员。
  • 从数仓或接口拉取原始宽表、需强制 dtypes、去重并控制离群值后才能做特征工程的机器学习工程师。
  • 负责 ETL 中间层、要在入库或报表前用校验规则验收清洗结果并保留转换计数的数据工程师。
  • 处理缺失比例高或疑似非随机缺失的表格数据、需在删列与插补策略上与业务方对齐后再继续的研究或分析人员。