Define reglas críticas obligatorias que tus datos deben cumplir antes de pasar a producción.
Define mandatory critical rules that your data must satisfy before moving into production.
Este ejercicio es solo para aprendizaje y pruebas. No ejecutes scripts contra datos reales, ambientes de producción, APIs externas, portales con login, datos sensibles, sistemas críticos o repositorios empresariales sin autorización, respaldos, pruebas previas, permisos mínimos, control de cambios y cumplimiento de los protocolos de ciberseguridad de tu organización.
This exercise is for learning and testing only. Do not run scripts against real data, production environments, external APIs, login portals, sensitive data, critical systems, or enterprise repositories without authorization, backups, prior testing, least-privilege permissions, change control, and compliance with your organization's cybersecurity protocols.
Crear expectativas de calidad para validar rangos, valores nulos y reglas mínimas antes de aceptar un dataset.
Create quality expectations to validate ranges, nulls, and minimum rules before accepting a dataset.
| id_nacional | edad | status |
|---|---|---|
| A100 | 25 | Active |
| A101 | 17 | Active |
| 44 | Inactive |
import great_expectations as ge
df_ge = ge.from_pandas(df)
df_ge.expect_column_values_to_be_between("edad", 18, 80)
df_ge.expect_column_values_to_not_be_null("id_nacional")| rule | success |
|---|---|
| edad between 18 and 80 | False |
| id_nacional not null | False |
| overall | Needs review |
# ==========================================================
# Python Advanced Topic 15
# Strict Pre-Production Validations
# ==========================================================
# pip install great_expectations pandas
import pandas as pd
import great_expectations as ge
df = pd.DataFrame({
"id_nacional": ["A100", "A101", None, "A103"],
"edad": [25, 17, 44, 82],
"status": ["Active", "Active", "Inactive", "Active"]
})
df_ge = ge.from_pandas(df)
results = []
checks = [
df_ge.expect_column_values_to_be_between("edad", 18, 80),
df_ge.expect_column_values_to_not_be_null("id_nacional"),
df_ge.expect_column_values_to_be_in_set("status", ["Active", "Inactive"])
]
for check in checks:
results.append({
"expectation": check.expectation_config.expectation_type,
"success": check.success
})
report = pd.DataFrame(results)
report.to_csv("preproduction_validation_report.csv", index=False)
print(report)expectation success 0 expect_column_values_to_be_between False 1 expect_column_values_to_not_be_null False 2 expect_column_values_to_be_in_set True
Las validaciones pre-producción evitan que datos malos entren a procesos oficiales y convierten la calidad en una regla verificable.
Pre-production validations prevent bad data from entering official processes and turn quality into a verifiable rule.