Great Expectationsで始めるデータ品質入門
Davina Moossazadeh
Data Scientist
条件付きエクスペクテーション — データの一部に対するエクスペクテーション
理由: ある変数は他の変数の値に依存するため
例:
star_rating の値が、review_count が 0 の行ではすべて 0 であることを求めるエクスペクテーションデータセットのエクスペクテーションは、次の2引数を追加して条件付きにできます:
row_conditioncondition_parserrow_condition の構文を指定する文字列pandas で条件付きエクスペクテーションを使う場合、この引数は "pandas" に設定します
expectation = gx.Expect...(
**kwargs,
condition_parser="pandas",
row_condition=...
)
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")
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")'
{{1}} 内で単一引用符を使わない
row_condition="foo=='Two Two'" row_condition='foo=="Two Two"' 
{{3}} 内で改行を使わない
row_condition="""
foo=="Two Two"
"""
row_condition='foo=="Two Two"' 
expectation = gx.expectations.\
ExpectColumnValuesToBeBetween(
column="price_usd",
max_value=10,
)
validation_results = batch.validate(
expect=expectation
)
print(validation_results.success)
False
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で始めるデータ品質入門