예제 #1
0
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
예제 #2
0
파일: models.py 프로젝트: psrc/urbansim2
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
예제 #3
0
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
예제 #4
0
파일: models.py 프로젝트: psrc/urbansim2
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
예제 #5
0
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
예제 #6
0
def jobs_transition(jobs, employment_controls, year, settings):
    return utils.full_transition(jobs, employment_controls, year,
                                 settings['jobs_transition'], "building_id")
예제 #7
0
def households_transition(households, household_controls, year, settings):
    return utils.full_transition(households, household_controls, year,
                                 settings['households_transition'],
                                 "building_id")
예제 #8
0
def jobs_transition(jobs, employment_controls, year, settings):
    return utils.full_transition(jobs,
                                 employment_controls,
                                 year,
                                 settings['jobs_transition'],
                                 "building_id")
예제 #9
0
def households_transition(households, household_controls, year, settings):
    return utils.full_transition(households,
                                 household_controls,
                                 year,
                                 settings['households_transition'],
                                 "building_id")