def caveats_for(self, sel): """ Returns a list of caveat questions that apply to a given selector type :param sel: :return: """ if check_sel(sel): t_targets = self.targets_for(sel) return sorted(self._caveats.loc[self._caveats["TargetID"].isin(t_targets), "QuestionID"].unique().tolist()) else: print ("Selector must be one of %s" % list(selectors))
def criteria_for(self, sel): """ Returns a list of criteria questions limiting a given selector type :param sel: :return: """ if check_sel(sel): t_targets = self.targets_for(sel) return sorted( self._criteria.loc[self._criteria["TargetID"].isin(t_targets), "QuestionID"].unique().tolist() ) else: print ("Selector must be one of %s" % list(selectors))
def criteria_for_set(self, sel): """ Returns a list of criteria questions limiting a given selector type :param sel: :return: """ if check_sel(sel): cri_filter = self._criteria[['QuestionID', 'TargetID']] cri_filter['Domain'] = cri_filter['TargetID'].map(lambda x: self._targets[int(x)].reference()[0]) qs = list(set( [v['QuestionID'] for k, v in cri_filter.iterrows() if v['Domain'] == sel])) qs = sorted([k for k in qs if len(self._questions[k].satisfied_by) == 0]) return qs else: print('Selector must be one of %s' % list(selectors))
def criteria_for_set(self, sel): """ Returns a list of criteria questions limiting a given selector type :param sel: :return: """ if check_sel(sel): cri_filter = self._criteria[['QuestionID', 'TargetID']] cri_filter['Domain'] = cri_filter['TargetID'].map( lambda x: self._targets[int(x)].reference()[0]) qs = list( set([ v['QuestionID'] for k, v in cri_filter.iterrows() if v['Domain'] == sel ])) qs = sorted( [k for k in qs if len(self._questions[k].satisfied_by) == 0]) return qs else: print('Selector must be one of %s' % list(selectors))