Conditional Expectations

Great Expectations के साथ Data Quality परिचय

Davina Moossazadeh

Data Scientist

Conditional Expectations क्या हैं?

Conditional Expectations - डेटा के एक सबसेट के लिए Expectations

क्यों? क्योंकि कुछ वैरिएबल अन्य वैरिएबल के मानों पर निर्भर होते हैं

उदाहरण:

  • एक Expectation कि कॉलम star_rating का मान उन सभी पंक्तियों के लिए 0 हो जहाँ review_count का मान 0 है
1 https://docs.greatexpectations.io/docs/core/customize_expectations/expectation_conditions/
Great Expectations के साथ Data Quality परिचय

Conditional Expectations का सिंटैक्स

Dataset Expectations को दो अतिरिक्त आर्ग्यूमेंट्स से Conditional Expectations में बदला जा सकता है:

  1. row_condition
    • एक बूलियन एक्सप्रेशन स्ट्रिंग जो उस डेटा सबसेट को परिभाषित करती है जिस पर Conditional Expectation लागू होगी
  2. condition_parser
    • एक स्ट्रिंग जो row_condition का सिंटैक्स तय करती है
Great Expectations के साथ Data Quality परिचय

The condition parser

pandas के साथ Conditional Expectations लागू करते समय, यह आर्ग्यूमेंट "pandas" पर सेट होना चाहिए

expectation = gx.Expect...(
    **kwargs,
    condition_parser="pandas",
    row_condition=...
)
Great Expectations के साथ Data Quality परिचय

The row condition

pandas सिंटैक्स
df["foo"] == 'Two Two'
df["foo"].notNull()
df["foo"] <= datetime.date(2023, 3, 13)
(df["foo"] < 5) & (df["foo"] >= 3.14)

df["foo"].str.startswith("bar")
Great Expectations row_condition
'foo == "Two Two"'
'foo.notNull()'
'foo <= datetime.date(2023, 3, 13)'
'(foo > 5) & (foo <= 3.14)'
'foo > 5 and foo <= 3.14'
'foo.str.startswith("bar")'
Great Expectations के साथ Data Quality परिचय

The row condition

नियम
  1. अंदर single quotes न इस्तेमाल करें

    • row_condition="foo=='Two Two'"
    • row_condition='foo=="Two Two"' `row_condition` के दूसरे बुलेट की सिंटैक्स सही होने का चेक मार्क।
  2. अंदर line breaks न रखें

    • row_condition="""
      foo=="Two Two"
      """  
      
    • row_condition='foo=="Two Two"' `row_condition` के दूसरे बुलेट की सिंटैक्स सही होने का चेक मार्क।
Great Expectations के साथ Data Quality परिचय

उदाहरण Expectation: star rating

बिना condition
expectation = gx.expectations.\
ExpectColumnValuesToBeBetween(
    column="price_usd",
    max_value=10,
)
validation_results = batch.validate(
    expect=expectation
)
print(validation_results.success)
False
Conditional
expectation = gx.expectations.\
ExpectColumnValuesToBeBetween(
    column="price_usd",
    max_value=10,
    condition_parser='pandas',
    row_condition='mark_price_usd < 10',
)
validation_results = batch.validate(
    expect=expectation
)
print(validation_results.success)
True
Great Expectations के साथ Data Quality परिचय

अभ्यास करते हैं!

Great Expectations के साथ Data Quality परिचय

Preparing Video For Download...