INNER CODE UNIT · Python
validate_data
balapriyac/data-science-tutorials · build-with-python/data-cleaning-n-validation-pipeline/main.py:49
def validate_data(self, df: pd.DataFrame) -> pd.DataFrame:
"""Validate each row using Pydantic model"""
valid_rows = []
errors = []
for idx, row in df.iterrows():
try:
validated_row = DataValidator(**row.to_dict())
valid_rows.append(validated_row.model_dump())
except ValidationError as e:
errors.append({'row': idx, 'errors': str(e)})
self.cleaning_stats['validation_errors'] = len(errors)
return pd.DataFrame(valid_rows), errors
def process(self, df: pd.DataFrame) -> Dict[str, Any]:
"""Main pipeline method"""
cleaned_df = self.clean_data(df.copy())