def compute(self, dataset_pool): ds = self.get_dataset() schools = dataset_pool.get_dataset("school") values = schools[self.varname] valid_idx = values > 0 result = mean(values[valid_idx], labels=schools[ds.get_id_name()[0]][valid_idx], index=ds.get_id_attribute()) is_nan = isnan(result) result[is_nan] = ds["_school_faz_measure"] return result
def compute(self, dataset_pool): zones = self.get_dataset() hhs = dataset_pool.get_dataset("household") income = hhs["income"] valid_income_idx = income > 0 result = mean(income[valid_income_idx], labels=hhs[zones.get_id_name()[0]][valid_income_idx], index=zones.get_id_attribute()) is_nan = isnan(result) result[is_nan] = 0 return result
def compute(self, dataset_pool): ds = self.get_dataset() schools = dataset_pool.get_dataset("school") values = schools[self.varname] valid_idx = values > 0 pcl_school_district = ds['school_district_id'] result = mean(values[valid_idx], labels=schools["school_district_id"][valid_idx], index=pcl_school_district) is_nan = isnan(result) result[is_nan] = 0 return result
def compute(self, dataset_pool): persons = dataset_pool.get_dataset("person") hhs = self.get_dataset() where_adult = where(persons.get_attribute("is_adult"))[0] age = persons.get_attribute("age") return array( ndimage.mean( age[where_adult], labels=persons.get_attribute("household_id")[where_adult], index=hhs.get_id_attribute(), ) )
def compute(self, dataset_pool): ds = self.get_dataset() schools = dataset_pool.get_dataset("school") values = schools[self.varname] valid_idx = values > 0 result = mean(values[valid_idx], labels=schools[ds.get_id_name()[0]][valid_idx], index=ds.get_id_attribute()) is_nan = isnan(result) result[is_nan] = 0 # if any(is_nan): # result_district = mean(values[valid_idx], labels=schools['school_district_id'][valid_idx], # index=ds['school_district_id']) # not_is_nan_district = logical_and(isnan(result_district) == 0,is_nan) # result[not_is_nan_district] = result_district[not_is_nan_district] return result
def compute(self, dataset_pool): ds = self.get_dataset() parcels = dataset_pool.get_dataset("parcel") # up = parcels.get_attribute("total_value_per_sqft") up = parcels.get_attribute("unit_price") where_zero = where(up == 0)[0] up[where_zero] = parcels.get_attribute("total_value_per_sqft")[where_zero] where_positive = where(up > 0)[0] faz = parcels.get_attribute(self.id_variable) lut = parcels.get_attribute("land_use_type_id") fazids = ds.get_dataset(1).get_id_attribute() lutids = ds.get_dataset(2).get_id_attribute() result = zeros(ds.size()[0]) for i in range(result.shape[0]): # iterate over large areas labels = where(faz == fazids[i], lut, 0) result[i, :] = ndimage.mean(up[where_positive], labels=labels[where_positive], index=lutids) return result