Skip to content

伟大的期望

包版本

伟大的期望集成不再受支持。 您可以使用以下包版本重新创建集成:

- ydata-profiling==2.1.0
- great-expectations==0.13.4

Great Expectations 是一个基于 Python 的开源库,用于验证、记录和分析您的数据。它帮助您维护数据质量并改善团队之间的数据沟通。通过 Great Expectations,您可以断言您对加载和转换的数据的期望,并快速发现数据问题——期望基本上是您数据的单元测试ydata-profiling 提供了一种方法,可以根据您的 ProfileReport 结果创建一组期望!

关于 Great Expectations

期望 是对您数据的断言。在 Great Expectations 中,这些断言以声明性语言的形式表达为简单、人类可读的 Python 方法。例如,为了断言您希望数据集中 passenger_count 列的值为 1 到 6 之间的整数,您可以说:

expect_column_values_to_be_between(column="passenger_count", min_value=1, max_value=6)

然后,Great Expectations 使用此语句来验证给定表中的 passenger_count 列是否确实在 1 到 6 之间,并返回成功或失败的结果。该库目前提供了数十种高度表达的内置期望,并允许您编写自定义期望。

Great Expectations 将期望渲染为干净、人类可读的文档,称为 数据文档。这些 HTML 文档包含您的期望套件以及每次验证运行时的数据验证结果——可以将其视为不断更新的数据质量报告。

有关 Great Expectations 的更多信息,请查看 Great Expectations 文档 并加入 Great Expectations Slack 频道 以获取帮助。

使用 ydata-profiling 创建期望套件

期望套件 只是一组期望。您可以通过编写单独的语句(如上所述)或根据分析器结果自动生成它们来创建期望套件。

ydata-profiling 提供了一个简单的 to_expectation_suite() 方法,该方法返回一个包含一组期望的 Great Expectations ExpectationSuite 对象。

前提条件:为了运行 to_expectation_suite() 方法,您需要通过 pip install great_expectations 安装 Great Expectations。

如果您想使用保存套件和构建数据文档等附加功能,您还需要通过在项目目录中运行 great_expectations init 来配置 Great Expectations 数据上下文。

获取您的期望集
import pandas as pd
from ydata_profiling import ProfileReport

df = pd.read_csv("titanic.csv")

profile = ProfileReport(df, title="Pandas Profiling Report", explorative=True)

# 获取一组默认期望的期望套件
# 默认情况下,这还会分析数据集,保存套件,运行验证并构建数据文档
suite = profile.to_expectation_suite()

这假设 great_expectations 数据上下文目录位于您运行脚本的同一路径中。为了指定数据上下文的位置,请将其作为参数传递:

生成一组期望
1
2
3
4
5
6
import great_expectations as ge

data_context = ge.data_context.DataContext(
    context_root_dir="/Users/panda/code/my_ge_project/"
)
suite = profile.to_expectation_suite(data_context=data_context)

您还可以在函数调用中单独配置每个功能:

配置功能
1
2
3
4
5
6
7
8
suite = profile.to_expectation_suite(
    suite_name="titanic_expectations",
    data_context=data_context,
    save_suite=False,
    run_validation=False,
    build_data_docs=False,
    handler=handler,
)

请参阅 Great Expectations 示例 以获取完整示例。