Type-Specific Expectations

Introduction to Data Quality with Great Expectations

Davina Moossazadeh

Data Scientist

Numeric Expectations: aggregate-level

gx.expectations.ExpectColumnMeanToBeBetween(
    column="mark_price_usd", min_value=20, max_value=25
)

gx.expectations.ExpectColumnMedianToBeBetween( column="mark_price_usd", min_value=20, max_value=25 )
gx.expectations.ExpectColumnStdevToBeBetween( column="mark_price_usd", min_value=15, max_value=20 )
gx.expectations.ExpectColumnSumToBeBetween( column="mark_price_usd", min_value=20000, max_value=21000 )
Introduction to Data Quality with Great Expectations

Numeric Expectations: row-level

Set row-level Expectations for value ranges:

gx.expectations.ExpectColumnValuesToBeBetween(
    column="star_rating", min_value=0, max_value=5
)

or order:

gx.expectations.ExpectColumnValuesToBeIncreasing(
    column="price_usd"
)

gx.expectations.ExpectColumnValuesToBeDecreasing( column="price_usd" )
Introduction to Data Quality with Great Expectations

String Expectations

Set string-level Expectations (these are all on the row-level):

gx.expectations.ExpectColumnValueLengthsToEqual(
    column="sku_id", value=18
)

gx.expectations.ExpectColumnValuesToMatchRegex( column="link", regex="^https://us.shein.com/[\w-]+" )
regex_list = [ "//img.ltwebstatic.com/images3_(spmp)|(pi)/202[0-4]/[0-1][0-9]/.*", "//sheinsz.ltwebstatic.com/she_dist/images/bg-g.*" ]
gx.expectations.ExpectColumnValuesToMatchRegexList( column="hero_image", regex_list=regex_list )
Introduction to Data Quality with Great Expectations

String parseability Expectations

Set Expectations for string columns to ensure data is parseable

ExpectColumnValuesToBeDateutilParseable() for dates:

gx.expectations.ExpectColumnValuesToBeDateutilParseable(
    column="colour"
)

ExpectColumnValuesToBeJsonParseable() for JSON:

gx.expectations.ExpectColumnValuesToBeJsonParseable(
    column="colour"
)
Introduction to Data Quality with Great Expectations

Cheat sheet

Numeric Expectations:

ExpectColumn<METRIC>ToBeBetween(
    column, min_value, max_value
)
# <METRIC> in {"Mean", "Median", "Stdev", "Sum"}

ExpectColumnValuesToBeBetween(
    column, min_value, max_value
)

ExpectColumnValuesToBeIncreasing(column)

ExpectColumnValuesToBeDecreasing(column)

String Expectations:

ExpectColumnValueLengthsToEqual(column, value)

ExpectColumnValuesToMatchRegex(column, regex)

ExpectColumnValuesToMatchRegexList(
    column, regex_list
)

ExpectColumnValuesToBeDateutilParseable(column)

ExpectColumnValuesToBeJsonParseable(column)
Introduction to Data Quality with Great Expectations

Let's practice!

Introduction to Data Quality with Great Expectations

Preparing Video For Download...