Pandas 数据质量报告生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/pandas-profiling-report-generator。
技能介绍
这个技能解决什么问题
拿到一个 DataFrame 之后,最常见的动作是 df.head() 加一句 df.info(),然后就直接开始建模。但列名拼写不一致、缺失值在多列之间联动出现、某列基数接近行数(实际上基本等于主键)这类问题,往往要在结果异常之后才被发现。手工写 isnull().sum() 和 value_counts() 循环排查,既慢又容易漏掉列与列之间的关系。
技能如何工作
该技能基于 ydata-profiling(原 pandas-profiling)完成自动化报告:
- 描述性统计:数值列、分类列、时间列分别汇总,不需要手动分派类型。
- 相关性分析:自动计算列间相关系数,快速定位可能冗余或互相冲突的特征。
- 缺失值模式:不只是统计每列的空值数量,还呈现缺失值的组合出现模式。
- 基数检测:识别高基数分类列,辅助判断该列是否适合作为类别特征。
- 两种输出形态:交互式 HTML 仪表板用于人工排查,JSON 摘要便于接入下游流水线或做结果比对。
典型流程是:把待分析的 DataFrame 交给技能 → 生成 profiling 结果 → 导出 HTML 与 JSON。整个过程不需要手写循环,也不需要自己拼装图表。
适用边界与注意点
- 报告中的统计基于
pandas,使用前需确保环境里已安装pandas;从源码安装时还需要cython。 ydata-profiling的开销随行数和列数增长明显。超大规模表建议先采样或按列分块,否则报告生成本身可能成为瓶颈。- 高基数列与强相关列只提供线索,是否删除、合并或重编码仍需结合业务判断,不能直接当作结论。
- HTML 报告面向人工阅读,JSON 摘要才适合程序消费,两者都已生成,按需取用即可。
使用场景
- 拿到一份包含几十列的新业务数据表,需要快速排查哪些列存在缺失值及其组合模式,并在建模前生成一份完整的 HTML 数据质量报告。
- 准备把多张表合并入库,但不确定是否存在高基数分类列或强相关的冗余字段,需要借助基数检测和相关性分析来决定删减哪些列。
- 数据清洗完成后,需要将本次分析的统计摘要以 JSON 格式输出,供下游自动化流水线校验数据分布是否符合预期。
适合人员
- 数据科学家,需要在进行特征工程前全面了解新数据集的缺失情况和相关性结构,以决定后续的清洗与转换策略。
- 后端工程师,负责构建数据接入管道,需要将数据质量校验结果导出为 JSON 摘要,以便在自动化测试中验证上游数据的完整性。
- 业务分析师,收到一份未经处理的原始表格,需要向非技术团队展示数据的整体分布和异常情况,并依赖 HTML 仪表板进行交互式汇报。