数据清洗
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/data-cleaning-skillhub。
技能介绍
要解决什么问题
分析前的数据往往带着空值、重复行、类型混用和格式不统一:同一列里日期可能是 2024-01-15 与 01/15/2024 并存,金额列还夹着 $ 和逗号。手工在 Notebook 里零散改几列,很难留下可审计的轨迹,也很难在交付前系统校验「非空、范围、唯一性」。
技能如何工作
代理按固定流水线处理原始数据集,核心依赖 pandas,并用 pyjanitor 做链式清洗、great_expectations 做规则验证;近似重复检测会用到 fuzzywuzzy。
- 导入并做质量报告:统计每列空值、重复行、类型是否符合预期,标出混合类型列。
- 缺失值:按列类型与缺失率选策略(如数值列中位数插补、分类列众数或「未知」;缺失率过高则标记并征询是否删列)。
- 去重与冲突:完全重复保留首条;近似重复用可配置相似度合并,并按时效性或完整性解决字段冲突。
- 类型与格式:
pd.to_numeric/pd.to_datetime(含errors="coerce")、电话/邮编/货币等规范化。 - 异常值:IQR 或 z-score 检测,可选截断、置空或仅标记。
- 验证与交付:对清洗结果跑模式约束,输出数据集与记录每步计数的清洗日志。
可向代理提供数据路径,并可选附带列类型、有效范围与唯一性等模式定义。
适用边界与注意点
- 清洗前应保留原始数据副本;缺失非随机(MNAR)时不宜机械默认插补,需结合业务判断。
- 全空列会删除并告警;重复列名会在加载后加后缀重命名;
read_csv编码失败时会依次尝试常见编码并记录。 - 单列多格式日期可用
pd.to_datetime(..., format="mixed"),但仍建议抽查解析结果。
使用场景
- 从业务系统导出的 CSV 空值、重复行和金额带符号混在一列,需要在跑报表前统一类型并生成可审计的清洗日志。
- 多份周度销售表字段名重复、客户行近似重复,要按相似度合并并保留最新完整记录后再入库。
- 训练集数值列有异常值、分类列缺失率高,要先做 IQR 截断或插补,再用 Great Expectations 校验非空与范围。
- 单表日期列混用多种字符串格式,要在不丢行的情况下解析为 datetime 并输出带模式约束的干净文件。
适合人员
- 负责把运营/财务导出表整理成分析底表的数据分析师,需要可重现步骤与每步计数日志。
- 在特征工程前处理原始 CSV、要统一缺失与异常值策略的机器学习工程师。
- 对接多源表格入库的数据工程师,需要在加载前做去重、类型强制和参照完整性检查。
- 用问卷或日志做统计的研究人员,要识别重复受访者并规范分类变量的取值形式。