Очікування щодо схеми

Вступ до контролю якості даних із Great Expectations

Davina Moossazadeh

Data Scientist

Очікування щодо форми та схеми

Очікування — це твердження про дані, яке можна перевірити

  • Очікування для стовпців
  • Очікування щодо форми та схеми
    • schema — кресленик структури набору даних
1 https://docs.greatexpectations.io/docs/reference/learn/terms/expectation
Вступ до контролю якості даних із Great Expectations

Кількість рядків

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}
Вступ до контролю якості даних із Great Expectations

Діапазон кількості рядків

Використайте 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}
Вступ до контролю якості даних із Great Expectations

Кількість стовпців

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}
Вступ до контролю якості даних із Great Expectations

Діапазон кількості стовпців

Використайте 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}
Вступ до контролю якості даних із Great Expectations

Набори назв стовпців

Використайте 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'}
Вступ до контролю якості даних із Great Expectations

Окремі назви стовпців

Використайте 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
Вступ до контролю якості даних із Great Expectations

Шпаргалка

Очікування щодо форми:

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

Давайте потренуємось!

Вступ до контролю якості даних із Great Expectations

Preparing Video For Download...