DataProfiler

快速摸清数据底细,自动识别敏感信息

DataProfiler 是一个开源的数据分析工具,用于快速提取数据集的模式(schema)、统计信息和实体标签。它解决的核心问题是帮助数据科学家和工程师在拿到新数据时,快速了解数据内容、结构和质量,从而为数据清洗、特征工程和合规审查提供依据。其核心能力包括:自动识别数据中的个人身份信息(PII)如姓名、邮箱、地址等,支持 CSV、Avro、JSON 等常见格式,并能生成详细的统计报告。工具采用可扩展的插件架构,用户可自定义实体检测器,同时提供 Python API 和命令行界面,便于集成到现有数据管道中。

开源 free 数据集
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1587
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类数据集
开发团队capitalone
所属国家
定价模式free
价格说明开源项目,Apache-2.0 许可,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型avro,csv,data-analysis,data-labels,data-science,dataprofiling,dataset,gdpr,graph-data,machine-learning,network-data,nlp,npi,pandas,pii,privacy,python,security,sensitive-data,tabular-data
GitHub 星标★ 1587
30天Star增速
HF 下载量
上线时间2020-11-09 00:00:00
最近更新2026-09-21 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数5

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • 已安装 Python 环境(README 未指定具体版本)
  • 可使用 pip 安装第三方包
  • 如需完整功能,机器需能安装 ML 相关依赖(如 tensorflow)
  • 建议预留足够磁盘空间,完整包依赖较多

安装与启动步骤

  1. 1安装完整包

    README 推荐方式,一次性装上报告生成与 ML 实体识别等全部依赖,体积较大、耗时较长。

    pip install "DataProfiler[full]"
  2. 2按需精简安装

    不想装 tensorflow 等重依赖时,可改用 [ml] 或 [reports];注意精简包会关闭默认敏感数据检测。

    pip install "DataProfiler[reports]"
  3. 3最小化安装

    只装核心库、不要 ML 依赖时报报告功能会受限,README 给的最简命令如下。

    pip install DataProfiler
  4. 4加载数据文件

    用 Data 自动识别并加载 CSV、AVRO、Parquet、JSON、Text 或 URL,加载后即为 Pandas DataFrame。

    import json
    from dataprofiler import Data, Profiler
    
    data = Data("your_file.csv")
    
    print(data.data.head(5))
  5. 5生成数据画像

    把 Data 对象交给 Profiler,计算统计信息与实体识别结果,再输出紧凑格式的可读报告。

    profile = Profiler(data)
    
    readable_report = profile.report(report_options={"output_format": "compact"})
    
    print(json.dumps(readable_report, indent=4))

关键配置

配置项必填说明示例
report_options.output_format否控制 profile.report 输出报告的格式compact

如何确认成功

脚本能打印出数据前 5 行,并输出 JSON 格式的画像报告(含 schema、统计与实体信息),即安装成功。

常见问题

Q:安装时 ML 依赖冲突(如 tensorflow 装不上)怎么办?

A:改用精简安装:pip install "DataProfiler[reports]" 或 pip install DataProfiler。但精简包会禁用默认的敏感数据检测与实体识别(labler)。

Q:[full]、[ml]、[reports] 三个版本怎么选?

A:[full] 是完整包,推荐首选;[ml] 保留 ML 依赖但不生成报告;[reports] 更轻量、不装 ML 依赖,代价是失去实体识别能力。

Q:支持哪些数据格式?

A:Data() 会自动检测并加载 CSV、AVRO、Parquet、JSON、Text,也支持传入 URL,无需手动指定格式。

Q:加载后怎么继续做数据分析?

A:data.data 就是一个兼容 Pandas 的 DataFrame,可直接使用 Pandas 的方法查看和加工数据。

注意事项

  • README 未说明支持的 Python 版本,遇到依赖冲突建议先确认 Python 版本。
  • 完整包 [full] 会拉取较重的 ML 依赖,首次安装时间可能明显长于普通 pip 包。
  • 示例可参考 README 提供的 CSV 链接:https://raw.githubusercontent.com/capitalone/DataProfiler/main/dataprofiler/tests/data/csv/aws_honeypot_marx_geo.csv。
  • 上述命令均需在已激活的虚拟环境或具备写权限的 Python 环境中执行。

核心亮点

  • 内置多种PII检测器,可自动识别姓名、邮箱、地址等敏感字段,助力GDPR合规
  • 支持CSV、Avro、JSON等格式,能处理大规模数据集,性能优于pandas-profiling
  • 提供可扩展的插件机制,允许自定义实体类型和统计指标,灵活适配业务需求

不足之处

  • 文档偏少,高级功能如自定义检测器示例不够详尽
  • 社区活跃度一般,问题响应速度可能慢于主流工具

适用场景

  • 数据接入时快速探查数据质量与字段含义
  • 数据脱敏前识别个人信息字段
  • 构建数据目录时自动生成元数据

替代项目

pandas-profiling、Great Expectations、Apache Griffin

项目介绍

DataProfiler 是数据集领域的开源项目,由 capitalone 开发,2020 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,587)位列前 30%,在数据集分类中处于中上游。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-21。Apache-2.0 许可,完全免费,可自行部署使用。

它主要面向的使用场景是:数据接入时快速探查数据质量与字段含义。同类可对比的替代方案包括 pandas-profiling、Great Expectations、Apache Griffin。

同类项目推荐

X-AnyLabeling 开源

一站式AI辅助标注,图像视频文本通吃,导出格式随心配

X-AnyLabeling: A lightweight, efficient, and unified cross-platform desktop applicat···

★ 10528 2026-08-10
aisheets 开源

像用表格一样批量调 AI,不写代码就能造和改数据集

Build, enrich, and transform datasets using AI models with no code

★ 1645 2026-09-20
distilabel 开源

基于论文的合成数据流水线,快速生成高质量 AI 反馈数据。

Distilabel is a framework for synthetic data and AI feedback for engineers who need ···

★ 3398 2026-08-10
DataGen 开源

用大模型一键生成定制化训练数据,告别数据荒

[ICLR'25] DataGen: Unified Synthetic Dataset Generation via Large Language Models

★ 69 2026-08-09