Skip to content
Snippets Groups Projects
util.py 826 B
Newer Older

def invalidate_record(frame, record, reason):
    pass


class BaseCheckList:

    def __init__(self, *args, **kwargs):
        self.check_results = {}
        self.parameters = {}

    def set_params(self, parameters):
        self.parameters = parameters

    def update_qc_percent(self, frame):
        for check_func in self.checks:
            name = check_func.__name__
            if name in frame.columns:
                results = frame[name].fillna(0)
                # Compute P(A U B)
                previous_percent = frame['qc_percent']
                frame['qc_percent'] = previous_percent + results - previous_percent*results
        return frame

    def compute(self, frame):
        for check in self.checks:
            frame = check(frame, self.parameters)
        return self.update_qc_percent(frame)