跳转到主要内容

为pandas DataFrame生成配置报告

项目描述

ydata-profiling

Build Status PyPI download month Code Coverage Release Version Python Version Code style: black

YData Profiling Logo

文档 | Discord | Stack Overflow | 最新变更日志

你喜欢这个项目吗?展示你的喜爱并提供反馈!

ydata-profiling的主要目标是提供一个一致且快速的单一行数据探索分析(EDA)体验。就像pandas的df.describe()函数那样方便,ydata-profiling在允许将数据分析导出为不同格式(如htmljson)的同时,对DataFrame进行扩展分析。

该软件包输出数据集的简单且精炼的分析,包括时间序列和文本。

寻找一个可扩展的解决方案,可以完全集成到您的数据库系统中?
利用YData Fabric数据目录连接到不同的数据库和存储(Oracle、Snowflake、PostgreSQL、GCS、S3等),并在Fabric中享受互动和引导式的数据概览体验。查看社区版本

▶️ 快速入门

安装

pip install ydata-profiling

conda install -c conda-forge ydata-profiling

开始概览

开始时,像往常一样加载您的pandas DataFrame,例如使用

import numpy as np
import pandas as pd
from ydata_profiling import ProfileReport

df = pd.DataFrame(np.random.rand(100, 5), columns=["a", "b", "c", "d", "e"])

要生成标准概览报告,只需运行

profile = ProfileReport(df, title="Profiling Report")

📊 主要功能

  • 类型推断:自动检测列的数据类型(分类数值日期等)
  • 警告:对数据中可能需要处理的问题/挑战的总结(缺失数据不准确偏度等)
  • 单变量分析:包括描述性统计(均值、中位数、众数等)和信息性可视化,如分布直方图
  • 多变量分析:包括相关性、缺失数据的详细分析、重复行以及变量之间相互作用的视觉支持
  • 时间序列:包括与时间相关数据的不同统计信息,如自相关和季节性,以及ACF和PACF图
  • 文本分析:最常见的类别(大写、小写、分隔符)、脚本(拉丁、西里尔)和块(ASCII、西里尔)
  • 文件和图像分析:文件大小、创建日期、尺寸、截断图像指示以及EXIF元数据的存在
  • 比较数据集:一行解决方案,以快速完整地比较数据集
  • 灵活的输出格式:所有分析均可导出为易于与他人分享的HTML报告,作为JSON以轻松集成到自动化系统中,以及作为Jupyter Notebook中的小部件。

报告包含三个附加部分

  • 概述:主要关于数据集的全局细节(记录数、变量数、总体缺失和重复、内存占用)
  • 警报:关于潜在数据质量问题(高度相关性、偏度、均匀性、零值、缺失值、常量值等)的全面和自动列表
  • 重现:关于分析的详细信息(时间、版本和配置)

🎁 最新功能

✨ Spark

Spark支持已发布,但我们始终在寻找额外的双手 👐。 查看当前正在进行的工作!

📝 用例

YData-profiling可用于交付各种不同的用例。文档包括解决这些用例的指南、技巧和窍门。

用例 描述
比较数据集 比较同一数据集的多个版本
概览时间序列数据集 使用一行代码生成时间序列数据集的报告
概览大型数据集 关于如何准备数据以及如何配置ydata-profiling以处理大型数据集的技巧
处理敏感数据 生成关注输入数据集中敏感数据的报告
数据集元数据和数据字典 通过数据集详细信息以及列特定的数据字典补充报告
自定义报告外观 更改报告页面以及其中包含的可视化的外观
概览数据库 为了在您的组织数据库中获得无缝的分析体验,请查看Fabric 数据目录,它允许从不同类型的存储中消费数据,例如关系型数据库管理系统(Azure SQL、PostgreSQL、Oracle 等)和对象存储(Google Cloud Storage、AWS S3、Snowflake 等)。

在 Jupyter Notebook 中使用

在 Jupyter Notebook 中消费报告有两种接口:通过小部件和通过嵌入式 HTML 报告。

Notebook Widgets

上述操作是通过将报告显示为一系列小部件来实现的。在 Jupyter Notebook 中运行

profile.to_widgets()

HTML 报告可以直接以类似方式嵌入到一个单元格中

profile.to_notebook_iframe()
HTML

将报告导出为文件

要生成一个 HTML 报告文件,将 ProfileReport 保存到对象中,并使用 to_file() 函数

profile.to_file("your_report.html")

或者,报告的数据可以作为 JSON 文件获取

# As a JSON string
json_data = profile.to_json()

# As a file
profile.to_file("your_report.json")

在命令行中使用

对于标准格式的 CSV 文件(可以直接由 pandas 读取,无需额外设置),可以使用命令行中的 ydata_profiling 可执行文件。以下示例使用名为 default.yaml 的配置文件,通过处理 data.csv 数据集,在 report.html 文件中生成名为 示例分析报告 的报告。

ydata_profiling --title "Example Profiling Report" --config_file default.yaml data.csv report.html

有关 CLI 的更多详细信息,请参阅文档

👀 示例

以下示例报告展示了该软件包在广泛的数据集和数据类型上的潜力

🛠️ 安装

有关小部件支持等更多信息,请参阅文档

使用pip

PyPi Downloads PyPi Monthly Downloads PyPi Version

您可以通过运行pip软件包管理器来安装:

pip install -U ydata-profiling

附加功能

该软件包声明“附加功能”,即额外的依赖关系集合。

  • [notebook]:支持在Jupyter笔记本小部件中渲染报告。
  • [unicode]:支持更详细的Unicode分析,但会占用额外的磁盘空间。
  • [pyspark]:支持pyspark进行大数据集分析。

例如,使用以下命令安装这些功能:

pip install -U ydata-profiling[notebook,unicode,pyspark]

使用conda

Conda Downloads Conda Version

您可以通过运行conda软件包管理器来安装:

conda install -c conda-forge ydata-profiling

从源(开发)

通过克隆存储库或点击下载ZIP以下载最新稳定版本。

通过导航到正确的目录并运行来安装:

pip install -e .

配置报告是用HTML和CSS编写的,这意味着需要一个现代浏览器。

您需要Python 3来运行此软件包。其他依赖关系可以在要求文件中找到

文件名 需求
requirements.txt 软件包需求
requirements-dev.txt 开发需求
requirements-test.txt 测试需求
setup.py 小部件等的依赖关系

🔗 集成

为了最大化其在现实世界环境中的实用性,ydata-profiling与数据科学生态系统中的各种其他参与者具有一系列隐式和显式集成。

集成类型 描述
其他DataFrame库 如何计算存储在除pandas之外的库中的数据的配置文件
Great Expectations 直接从配置文件生成Great Expectations期望套件。
交互式应用程序 将配置文件嵌入到StreamlitDashPanel应用程序中。
管道 与DAG工作流执行工具如AirflowKedro集成。
云服务 在托管计算服务中使用ydata-profiling,如LambdaGoogle CloudKaggle
IDEs 直接从集成开发环境(如PyCharm)使用ydata-profiling

🙋 支持

需要帮助?想分享观点?报告错误?合作想法?通过以下渠道联系:

  • Stack Overflow:询问如何使用软件包的理想选择
  • GitHub Issues:错误、变更提案、功能请求
  • Discord:项目讨论、提问、合作、一般聊天的理想选择

需要帮助?
通过预约一场有趣的聊天,让产品负责人解答您的问题!🐼

❗ 在GitHub上报告问题之前,请查看常见问题

🤝🏽 参与贡献

了解如何参与贡献指南

数据中心AI社区的Discord上,这是一个提问或开始贡献的低门槛地方。

向所有我们杰出的贡献者表示衷心的感谢!

使用contrib.rocks制作的贡献墙。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

ydata-profiling-4.10.0.tar.gz (281.4 kB 查看哈希值)

上传时间

构建分布

ydata_profiling-4.10.0-py2.py3-none-any.whl (356.2 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持