def _do_validation_set(self, table: pd.DataFrame, columns, validation_type, failed_only=False) -> pd.DataFrame:
        """Return a dataframe of validation results for the appropriate series vs the vector of validators."""
        validations = []

        for column in columns:
            validation = column.validate(table=table, failed_only=failed_only)
            validation["column_name"] = column.name
            validation["validation_type"] = validation_type
            validations.append(validation)

        validation_table = pd.concat(validations)
        validation_table.index.name = 'row'

        return validation_table.reset_index().set_index(["validation_type", "column_name", "row"])