Repository navigation
support for row level DQ result-report missing #223
Description
Activity
github-actions commented
on May 18, 2026 on May 18, 2026 – with GitHub ActionsContributorMore actionsThanks for raising this. You're correct — the
rowLevelResultsAsDataFramemethod from Deequ's ScalaVerificationResultis not currently exposed in PyDeequ. This is a valid feature gap. We'll track this as an enhancement request to add arowLevelResultsAsDataFrameclassmethod to theVerificationResultclass inpydeequ/verification.py, similar to howcheckResultsAsDataFrameandsuccessMetricsAsDataFrameare already wrapped. Appreciate you flagging it.This has also been flagged for our maintainer team to review.
Generated by AI (model: us.anthropic.claude-opus-4-6-v1, prompt: cf3780e5) — may not be fully accurate. Reply if this doesn't help.
rowLevelResultsAsDataFramehas since been exposed in PyDeequ via #262 (merged). It is available asVerificationResult.rowLevelResultsAsDataFrame(spark_session, verificationResult, data)(pydeequ/verification.py), with a usage snippet in the README. That should cover the row-level DQ report use case described here, so I believe this can be closed.github-actions commented
on Jun 28, 2026 on Jun 28, 2026 – with GitHub ActionsContributorMore actionsCorrect —
VerificationResult.rowLevelResultsAsDataFrame()is now available in PyDeequ. You can use it as follows:from pydeequ.checks import Check, CheckLevel from pydeequ.verification import VerificationSuite, VerificationResult check = Check(spark, CheckLevel.Warning, "Review Check") checkResult = VerificationSuite(spark) \ .onData(df) \ .addCheck( check.isComplete("c") \ .isContainedIn("a", ["foo", "bar", "baz"])) \ .run() rowLevelResult_df = VerificationResult.rowLevelResultsAsDataFrame(spark, checkResult, df) rowLevelResult_df.show()
This returns the original DataFrame with additional Boolean columns (named after the check description) indicating which rows passed or failed. Only checks with row-level-capable constraints (e.g.,
isComplete,isContainedIn,hasPattern,isUnique) produce output columns. Aggregate-only checks likehasSizeare skipped.This issue can indeed be closed.
Generated by AI (model: us.anthropic.claude-opus-4-6-v1, prompt: 67928783) — may not be fully accurate. Reply if this doesn't help.
Hello folks, it seems u forgot to expose in Python PyDeequ, the following Deequ Scala method, which in turn makes it impossible to use PyDeequ to produce row level DQ report - only column/dataset SUMMARY level DQ reports are possible at the moment
def rowLevelResultsAsDataFrame( sparkSession: SparkSession, verificationResult: VerificationResult, data: DataFrame): DataFrame = {
why is that, any plans to rectify and when?