def households_transition(households, household_controls, year, settings): s = orca.get_table('households').base_income_quartile.value_counts() print "Distribution by income before:\n", (s / s.sum()) ret = utils.full_transition(households, household_controls, year, settings['households_transition'], "building_id") s = orca.get_table('households').base_income_quartile.value_counts() print "Distribution by income after:\n", (s / s.sum()) return ret
def jobs_transition(jobs, employment_controls, year, settings): orig_size = jobs.local.shape[0] res = utils.full_transition(jobs, employment_controls, year, settings['jobs_transition'], "building_id") print "Net change: %s jobs" % (orca.get_table("jobs").local.shape[0]- orig_size) return res
def households_transition(households, household_controls, year, settings): s = orca.get_table('households').base_income_quartile.value_counts() print "Distribution by income before:\n", (s/s.sum()) ret = utils.full_transition(households, household_controls, year, settings['households_transition'], "building_id") s = orca.get_table('households').base_income_quartile.value_counts() print "Distribution by income after:\n", (s/s.sum()) return ret
def households_transition(households, household_controls, year, settings, persons): orig_size_hh = households.local.shape[0] orig_size_pers = persons.local.shape[0] orig_pers_index = persons.index orig_hh_index = households.index res = utils.full_transition(households, household_controls, year, settings['households_transition'], "building_id", linked_tables={"persons": (persons.local, 'household_id')}) print "Net change: %s households" % (orca.get_table("households"). local.shape[0] - orig_size_hh) print "Net change: %s persons" % (orca.get_table("persons"). local.shape[0] - orig_size_pers) # changes to households/persons table are not reflected in local scope # need to reset vars to get changes. households = orca.get_table('households') persons = orca.get_table("persons") # need to make some updates to the persons & households table households.update_col_from_series("is_inmigrant", pd.Series(np.where (~households.index.isin (orig_hh_index), 1, 0), index=households.index), cast=True) # new workers dont have jobs yet, set job_id to -1 persons.update_col_from_series("job_id", pd.Series(np.where(~persons.index.isin (orig_pers_index), -1, persons.job_id), index=persons.index), cast=True) # dont know their work at home status yet, set to 0: persons.update_col_from_series("work_at_home", pd.Series(np.where (~persons.index.isin (orig_pers_index), 0, persons.work_at_home), index=persons.index), cast=True) # set non-worker job_id to -2 persons.update_col_from_series("job_id", pd.Series(np.where (persons.employment_status > 0, persons.job_id, -2), index=persons.index), cast=True) orca.clear_cache() return res
def households_transition( households, household_controls, year, settings, persons): orig_size_hh = households.local.shape[0] orig_size_pers = persons.local.shape[0] s = orca.get_table('households').base_income_quartile.value_counts() print "Distribution by income before:\n", (s / s.sum()) ret = utils.full_transition(households, household_controls, year, settings['households_transition'], "building_id", linked_tables={"persons": (persons.local, 'household_id')}) s = orca.get_table('households').base_income_quartile.value_counts() print "Distribution by income after:\n", (s / s.sum()) print "Net change: %s households" % ( households.local.shape[0] - orig_size_hh) print "Net change: %s persons" % ( persons.local.shape[0] - orig_size_pers) return ret
def jobs_transition(jobs, employment_controls, year, settings): return utils.full_transition(jobs, employment_controls, year, settings['jobs_transition'], "building_id")
def households_transition(households, household_controls, year, settings): return utils.full_transition(households, household_controls, year, settings['households_transition'], "building_id")