def apply_filter(self, filter, submodel=-2):
        """ apply filter
        """
        if submodel != -2:
            filter = filter + "_for_development_type_" + str(submodel)

        return LocationChoiceModel.apply_filter(self, filter, submodel=submodel)
Beispiel #2
0
    def apply_filter(self, filter, agent_set, agents_index, submodel=-2):
        """ apply filter comparing to mean project size by submodel instead of 0, by shifting self.filter
        """
        project_size_filter = None
        if (filter is not None):
            if isinstance(filter, dict):
                submodel_filter = filter[submodel]
            else:
                submodel_filter = filter

            mean_project_size = agent_set.get_attribute(
                agent_set.get_attribute_name())[agents_index].mean()

            if isinstance(submodel_filter, str):
                resources = Resources({"debug": self.debug})
                self.choice_set.compute_variables(
                    [submodel_filter],
                    dataset_pool=self.dataset_pool,
                    resources=resources)
                filter_name = VariableName(submodel_filter)
                project_size_filter = self.choice_set.get_attribute(
                    filter_name.get_alias()) - mean_project_size
            else:
                project_size_filter = submodel_filter - mean_project_size

        return LocationChoiceModel.apply_filter(self,
                                                project_size_filter,
                                                agent_set=agent_set,
                                                agents_index=agents_index,
                                                submodel=submodel)
    def apply_filter(self, filter, submodel=-2):
        """ apply filter
        """
        if submodel != -2:
            filter = filter + "_for_development_type_" + str(submodel)

        return LocationChoiceModel.apply_filter(self,
                                                filter,
                                                submodel=submodel)
    def apply_filter(self, filter, agent_set, agents_index, submodel=-2):
        """ apply filter comparing to mean project size by submodel instead of 0, by shifting self.filter
        """
        project_size_filter = None
        if (filter is not None):
            if isinstance(filter, dict):
                submodel_filter = filter[submodel]
            else:
                submodel_filter = filter

            mean_project_size = agent_set.get_attribute(agent_set.get_attribute_name())[agents_index].mean()

            if isinstance(submodel_filter, str):
                resources = Resources({"debug":self.debug})
                self.choice_set.compute_variables([submodel_filter], dataset_pool=self.dataset_pool, resources=resources)
                filter_name = VariableName(submodel_filter)
                project_size_filter = self.choice_set.get_attribute(filter_name.get_alias()) - mean_project_size
            else:
                project_size_filter = submodel_filter - mean_project_size
                
        return LocationChoiceModel.apply_filter(self, project_size_filter, 
                                                        agent_set=agent_set, 
                                                        agents_index=agents_index, 
                                                        submodel=submodel)