Great Expectations로 배우는 데이터 품질 입문
Davina Moossazadeh
Data Scientist
Expectation - 데이터에 대한 검증 가능한 주장
row_count_expectation = gx.expectations.ExpectTableRowCountToEqual( value=118000 )validation_results = batch.validate(expect=row_count_expectation)
print(validation_results.success)
False
print(validation_results.result)
{'observed_value': 118066}
ExpectTableRowCountToBeBetween으로 행 개수의 범위를 지정합니다:
row_count_expectation = gx.expectations.ExpectTableRowCountToBeBetween(min_value=117000, max_value=119000 )validation_results = batch.validate(expect=row_count_expectation)
print(validation_results.success)
True
print(validation_results.result)
{'observed_value': 118066}
col_count_expectation = gx.expectations.ExpectTableColumnCountToEqual(
value=15
)
validation_results = batch.validate(expect=col_count_expectation)
print(validation_results.success)
False
print(validation_result.result)
{'observed_value': 18}
ExpectTableColumnCountToBeBetween으로 열 개수의 범위를 지정합니다:
col_count_expectation = gx.expectations.ExpectTableColumnCountToBeBetween(
min_value=14, max_value=18
)
validation_results = batch.validate(expect=col_count_expectation)
print(validation_results.success)
True
print(validation_result.result)
{'observed_value': 18}
ExpectTableColumnsToMatchSet으로 열 이름이 지정한 집합과 일치하는지 검증합니다:
expected_cols = ['clouds_all', 'snow_1h', 'rain_1h', 'wind_speed', 'humidity', 'pressure', 'temp', 'GHI', 'Energy delta[Wh]', 'Time', 'Time']col_names_expectation = gx.expectations.ExpectTableColumnsToMatchSet( column_set=expected_cols )print(col_names_expectation.success, col_names_expectation.result)
True
{'observed_value': ['Time', 'Energy delta[Wh]', 'GHI', 'temp', 'pressure',
'humidity', 'wind_speed', 'rain_1h', 'snow_1h', 'clouds_all'}
ExpectColumnToExist로 특정 열이 데이터셋에 있는지 확인합니다:
col_name_expectation = gx.expectations.ExpectColumnToExist(column="not_a_column")
validation_result = batch.validate(expect=col_name_expectation)
print(validation_result.success)
False
col_name_expectation = gx.expectations.ExpectColumnToExist(column="GHI")
validation_result = batch.validate(expect=col_name_expectation)
print(validation_result.success)
True
모양(Shape) 기대사항:
ExpectTableRowCountToEqual(value: int)
ExpectTableRowCountToBeBetween(
min_value: int, max_value: int
)
ExpectTableColumnCountToEqual(
value: int
)
ExpectTableColumnCountToBeBetween(
min_value: int, max_value: int
)
열 이름 기대사항:
ExpectTableColumnsToMatchSet(
column_set: set
)
ExpectColumnToExist(column: str)
Great Expectations로 배우는 데이터 품질 입문