Skip to content

Commit 03482f2

Browse files
committed
arc activitysim v0.9.7 configs
1 parent 587fe5d commit 03482f2

File tree

153 files changed

+261277
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+261277
-0
lines changed

configs/accessibility.csv

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
Description,Target,Expression
2+
#,,
3+
#,, auto peak
4+
#,,
5+
#AM - ALL TRANSIT,,
6+
AM OVT (MW[31]),_amOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'AM')]"
7+
AM OVT (Transposed) (MW[32]),_amOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'AM')]"
8+
AM IVT (MW[33]),_amIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]"
9+
AM IVT (Transposed) (MW[34]),_amIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]"
10+
#,,
11+
#MD - ALL TRANSIT,,
12+
MD OVT (MW[41]),_mdOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'MD')]"
13+
MD OVT (Transposed) (MW[42]),_mdOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'MD')]"
14+
MD IVT (MW[43]),_mdIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]"
15+
MD IVT (Transposed) (MW[44]),_mdIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]"
16+
#,,
17+
#AM - PREMIUM TRANSIT,,
18+
AM OVT (MW[51]),_amOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'AM')]"
19+
AM OVT (Transposed) (MW[52]),_amOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'AM')]"
20+
AM IVT (MW[53]),_amIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]"
21+
AM IVT (Transposed) (MW[54]),_amIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]"
22+
#,,
23+
#MD - PREMIUM TRANSIT,,
24+
MD OVT (MW[61]),_mdOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'MD')]"
25+
MD OVT (Transposed) (MW[62]),_mdOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'MD')]"
26+
MD IVT (MW[63]),_mdIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]"
27+
MD IVT (Transposed) (MW[64]),_mdIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]"
28+
#,,
29+
# get the destination zone retail employment from dbf file,,
30+
Retail Employment,_retailEmp,df.retail + df.service
31+
Total Employment,_totEmp,df.emp
32+
#,,
33+
#,,auto peak
34+
# assume peak occurs in AM for outbound and PM for inbound,,
35+
peak round trip distance,_auPkTime,"skim_od[('SOV_FREE_TIME', 'AM')] + skim_do[('SOV_FREE_TIME', 'AM')]"
36+
decay function,_decay,exp(_auPkTime * dispersion_parameter_automobile)
37+
auto peak retail,auPkRetail,_retailEmp * _decay
38+
auto peak total,auPkTotal,_totEmp * _decay
39+
#,,
40+
#,, auto off-peak
41+
#,,
42+
#,, assume midday occurs entirely in the midday period
43+
off-peak round trip distance,_auOpTime,"skim_od[('SOV_FREE_TIME', 'MD')] + skim_do[('SOV_FREE_TIME', 'MD')]"
44+
decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile)
45+
auto off-peak retail,auOpRetail,_retailEmp * _decay
46+
auto off-peak total,auOpTotal,_totEmp * _decay
47+
#,,
48+
#,,
49+
#,,
50+
# am peak transit,,
51+
local travel time,_ltt,2 * (_amOvt+_amOvt_T) + (_amIvt+_amIvt_T)
52+
premium travel time,_ptt,2 * (_amOvtPrem+_amOvtPrem_T) + (_amIvtPrem+_amIvtPrem_T)
53+
local travel time 2,_ltt2,_amOvt + _amOvt_T + _amIvt + _amIvt_T
54+
premium travel time 2,_ptt2,_amOvtPrem + _amOvtPrem_T + _amIvtPrem + _amIvtPrem_T
55+
#,,
56+
Transit Decay ,_tr_decay,"np.where((_ltt > 0), np.where((_ltt < _ptt), exp(_ltt2 * dispersion_parameter_transit), 0), np.where((_ptt > 0), exp(_ptt2 * dispersion_parameter_transit), 0))"
57+
transit peak retail,trPkRetail,_retailEmp * _tr_decay
58+
transit peak total,trPkTotal,_totEmp * _tr_decay
59+
#,,
60+
#,,
61+
# midday transit,,
62+
local travel time off-peak,_lttop,2 * (_mdOvt+_mdOvt_T) + (_mdIvt+_mdIvt_T)
63+
premium travel time off-peak,_pttop,2 * (_mdOvtPrem+_mdOvtPrem_T) + (_mdIvtPrem+_mdIvtPrem_T)
64+
local travel time off-peak 2,_ltt2op,_mdOvt + _mdOvt_T + _mdIvt + _mdIvt_T
65+
premium travel time off-peak 2,_ptt2op,_mdOvtPrem + _mdOvtPrem_T + _mdIvtPrem + _mdIvtPrem_T
66+
#,,
67+
Transit Decay ,_tr_op_decay,"np.where((_lttop > 0), np.where((_lttop < _pttop), exp(_ltt2op * dispersion_parameter_transit), 0), np.where((_pttop > 0), exp(_ptt2op * dispersion_parameter_transit), 0))"
68+
transit off-peak retail,trOpRetail,_retailEmp * _tr_op_decay
69+
transit off-peak total,trOpTotal,_totEmp * _tr_op_decay
70+
#,,
71+
#,,
72+
# walk,,
73+
non-motorized round trip distance,_nmDist,"skim_od[('SOV_FREE_DISTANCE', 'MD')] + skim_do[('SOV_FREE_DISTANCE', 'MD')]"
74+
round trip path is available,_rt_available,_nmDist <= (maximum_walk_distance * 2)
75+
decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk)
76+
non-motorized retail accessibility,nmRetail,_retailEmp * _decay
77+
non-motorized total accessibility,nmTotal,_totEmp * _decay

configs/accessibility.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
# columns from land_use table to add to df
3+
land_use_columns: ['retail', 'service', 'emp']
4+
5+
CONSTANTS:
6+
# dispersion parameters
7+
dispersion_parameter_automobile: -0.05
8+
dispersion_parameter_transit: -0.05
9+
dispersion_parameter_walk: -1.00
10+
# maximum walk distance in miles
11+
maximum_walk_distance: 3.0
12+
# perceived minute of in-vehicle time for every minute of out-of-vehicle time
13+
out_of_vehicle_time_weight: 2.0

configs/annotate_households.csv

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
Description,Target,Expression
2+
#,, annotate households table after import
3+
,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)"
4+
#,,FIXME households.income can be negative - so we clip?
5+
income_in_thousands,income_in_thousands,((households.hincp)/(1.03154279*1000)).clip(lower=0)
6+
income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 10, 30, 60, 100, np.inf], labels=[1, 2, 3, 4, 5]).astype(int)"
7+
non family households,non_family,((households.hht == 4)|(households.hht == 5)|(households.hht == 6)|(households.hht == 7))
8+
family households,family,(households.hht < 4)
9+
number of drivers,num_drivers,"_PERSON_COUNT('agep>=16', persons, households)"
10+
number of school childrens,num_school_children,"_PERSON_COUNT('agep>=6 & agep<=15', persons, households)"
11+
number of young adults,num_young_adults,"_PERSON_COUNT('agep>=18 & agep<=24', persons, households)"
12+
number of young retirees,num_young_retirees,"_PERSON_COUNT('agep>=65 & agep<=79', persons, households)"
13+
number of old retirees,num_old_retirees,"_PERSON_COUNT('agep>=80', persons, households)"
14+
number of young children,num_young_children,"_PERSON_COUNT('agep<=5', persons, households)"
15+
number of adults,num_adults,"_PERSON_COUNT('is_adult', persons, households)"
16+
number of children,num_children,"_PERSON_COUNT('~adult', persons, households)"
17+
number of non-driving age children,num_nondriving_age_children,"_PERSON_COUNT('is_nondriving_age', persons, households)"
18+
number of children under 19,num_children_under19,"_PERSON_COUNT('is_ageless19', persons, households)"
19+
Number of children with age less than 16 years,num_children_less_16,"_PERSON_COUNT('agep <= 15', persons, households)"
20+
# CTRAMP uses the following definition (see Household.java),,
21+
Number of children with age 16plus,num_children_16plus,"_PERSON_COUNT('agep >= 16', persons, households)"
22+
#number of workers (see initialize_households.yaml),num_workers,"_PERSON_COUNT('is_worker', persons, households)"
23+
#,,
24+
number of full time workers,num_fullTime_workers,"_PERSON_COUNT('is_fulltime_worker', persons, households)"
25+
number of part time workers,num_partTime_workers,"_PERSON_COUNT('is_parttime_worker', persons, households)"
26+
number of students,num_students,"_PERSON_COUNT('is_student', persons, households)"
27+
number of non-working adult in the household,num_nonworker_adults,"_PERSON_COUNT('ptype == 4', persons, households)"
28+
number of pre-driving age children in the household,num_predrive_child,"_PERSON_COUNT('ptype == 7', persons, households)"
29+
number of retired adults in the household,_num_retired_adults,"_PERSON_COUNT('ptype == 5', persons, households)"
30+
Low Income Household,is_low_income,((households.hincp)/1.03154279)<20000
31+
Medium Income Household,is_medium_income,(((households.hincp)/1.03154279)>=20000) & (((households.hincp)/1.03154279)<50000)
32+
High Income Household,is_high_income,(((households.hincp)/1.03154279)>=50000) & (((households.hincp)/1.03154279)<100000)
33+
Very High Income Household,is_very_high_income,((households.hincp)/1.03154279)>=100000
34+
,_MIN_VOT,setting('min_value_of_time')
35+
,_MAX_VOT,setting('max_value_of_time')
36+
,_MU,setting('distributed_vot_mu')
37+
,_SIGMA,setting('distributed_vot_sigma')
38+
Retired Adults Only Households,retired_adults_only_hh,(households.hhsize > 0) & (households.hhsize == _num_retired_adults)
39+
Area Type,areatype,"reindex(land_use.areatype, households.home_zone_id)"
40+
CBDFlag,CBDFlag,"reindex(land_use.CBDFlag, households.home_zone_id)"
41+
home_zone_id,home_zone_id,households.home_zone_id
42+
Percent Zonal HHs with Income below 10K,I_PCTLT10K,"reindex(land_use.I_PCTLT10K, households.home_zone_id)"
43+
Percent Zonal HHs with Income 10K to 20K,I_PCT10TO20,"reindex(land_use.I_PCT10TO20, households.home_zone_id)"
44+
Percent Zonal HHs with Income 20K to 40K,I_PCT20TO40,"reindex(land_use.I_PCT20TO40, households.home_zone_id)"
45+
Percent Zonal HHs with Income 20K to 40K,I_PCTGT40,"reindex(land_use.I_PCTGT40, households.home_zone_id)"
46+
Park Rate,PARKRATE,"reindex(land_use.PARKRATE, households.home_zone_id)"
47+
PROPFREE (need to understand),PROPFREE,"reindex(land_use.PROPFREE, households.home_zone_id)"
48+
Retail employment accessible within 30 minutes using premium rail,RetailEmp30,"reindex(land_use.RetailEmp30, households.home_zone_id)"
49+
cbd,is_CBD,areatype == 1
50+
urban,is_urban,(areatype>1) & (areatype<4)
51+
suburban,is_suburban,(areatype==4) | (areatype==5)
52+
,auto_ownership,0
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Description,Target,Expression
2+
#,, annotate households table after cdap model has run
3+
num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8)
4+
num_travel_active_adults,num_travel_active_adults,(persons.is_adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8)
5+
num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == 8) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8)
6+
num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults
7+
num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers
8+
num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8)
9+
participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Description,Target,Expression
2+
Sum of Workers Auto Savings Ratio,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0)
3+
Sum of Workers Premium IVT ,_hh_workers_prmTrn_ivt,persons.workers_prmTrn_ivt.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0)
4+
Sum of Workers Total IVT ,_hh_workers_totalTrn_ivt,persons.workers_totalTrn_ivt.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0)
5+
Sum of Students Premium IVT ,_hh_students_prmTrn_ivt,persons.students_prmTrn_ivt.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0)
6+
Sum of Students Total IVT ,_hh_students_totalTrn_ivt,persons.students_totalTrn_ivt.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0)
7+
Work Rail Proportion,worker_rail_proportion,"np.where(((_hh_workers_prmTrn_ivt > 0) & (_hh_workers_totalTrn_ivt > 0)),(_hh_workers_prmTrn_ivt / _hh_workers_totalTrn_ivt),0)"
8+
School Rail Proportion,student_rail_proportion,"np.where(((_hh_students_prmTrn_ivt > 0) & (_hh_students_totalTrn_ivt > 0)),(_hh_students_prmTrn_ivt / _hh_students_totalTrn_ivt),0)"

configs/annotate_landuse.csv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Description,Target,Expression
2+
#,, annotate landuse table after import
3+
household_density,household_density,land_use.hshld / land_use.acres
4+
employment_density,employment_density,land_use.emp / land_use.acres
5+
density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1)
6+
cbd,is_CBD,land_use.areatype == 1
7+
parking_zone,is_parking_zone,land_use.PARKING_ZONE == 1

configs/annotate_persons.csv

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
Description,Target,Expression
2+
#,, annotate persons table after import
3+
age of the person,age,persons['agep']
4+
sex of the person,sex,persons['sex']
5+
person number in the HH,PNUM,persons['PNUM']
6+
is_age1617,is_age1617,"persons['agep'].between(16,17)"
7+
is_ageLess19,is_ageless19,persons['agep'] < 19
8+
is_age1622,is_age1622,"persons['agep'].between(16,22)"
9+
is_ageLess40,is_ageless40,persons['agep'] < 40
10+
is_age4059,is_age4059,"persons['agep'].between(40,59)"
11+
is_age6079,is_age6079,"persons['agep'].between(60,79)"
12+
is_age60plus,is_age60plus,persons['agep'] >= 60
13+
is_adult,is_adult, persons['agep']>=18
14+
# Joint tour frequency model requires 'adult' instead of 'is_adult' (hardcoded adult),,
15+
adult,adult, persons['agep']>=18
16+
is_male,is_male,persons['sex'] == 1
17+
is_female,is_female,persons['sex'] == 2
18+
is_working_age,_is_working_age,persons['agep']>=16
19+
is_fulltime_worker,is_fulltime_worker,"((_is_working_age) & (persons['wkhp'] >=35) & (persons['wkw']>=1) & (persons['wkw']<=4) & (~persons['esr'].isin([3,6])))"
20+
is_parttime_worker,is_parttime_worker,"((_is_working_age) & (~persons['esr'].isin([3,6])) & (is_fulltime_worker == False))"
21+
is_worker,is_worker,"df['pecasOcc'].isin([1,2,3,4,5])"
22+
Work Segment - White Collar Worker,work_segment,"np.where(df['pecasOcc']==1, 1, 0)"
23+
Work Segment - Service Worker,work_segment,"np.where(df['pecasOcc']==2, 2, work_segment)"
24+
Work Segment - Health Worker,work_segment,"np.where(df['pecasOcc']==3, 3, work_segment)"
25+
Work Segment - Retail or Food Worker,work_segment,"np.where(df['pecasOcc']==4, 4, work_segment)"
26+
Work Segment - Blue Collar Worker,work_segment,"np.where(df['pecasOcc']==5, 5, work_segment)"
27+
is_nonworker,_is_nonworker,is_worker == False
28+
is_nonworker_adult,is_nonworker_adult,((_is_nonworker) & (_is_working_age))
29+
# Peron type definition (see ArcHouseholdDataManager.java),,
30+
full time workers or those with no grade-attending info,_cond1,(is_fulltime_worker) | (persons['schg'] <1)
31+
minimum driving age,_cond2,(persons['agep'] < 16)
32+
attending college or above,_cond3,(persons['schg'] >=6)
33+
too old for school,_cond4,(persons['agep'] > 19)
34+
student high school or less,_stdCat1,((_cond1) & (_cond2)) | ((~_cond1) & (_cond3) & (_cond2)) | ((~_cond1) & (~_cond3) & (~_cond4))
35+
student college or higher,_stdCat2,((~_cond1) & (_cond3) & (~_cond2)) | ((~_cond1) & (~_cond3) & (_cond4))
36+
non_student,_stdCat3,(_cond1) & (~_cond2)
37+
is_k12,is_k12,(_stdCat1)
38+
is_university,is_university,(_stdCat2)
39+
is_student,is_student,((_stdCat1)|(_stdCat2))
40+
is_predriver,is_predrive,persons['agep'] <= 15
41+
is_driver,is_driving_age,persons['agep'] > 15
42+
is_nondriver,is_nondriving_age,persons['agep'] < 16
43+
school_segment k12_predrive,school_segment,"np.where((is_k12 & is_predrive), 1, 0)"
44+
school_segment k12_drive,school_segment,"np.where((is_k12 & is_driving_age), 2, school_segment)"
45+
school_segment university,school_segment,"np.where(is_university, 3, school_segment)"
46+
FT_worker_age_16plus,_empCat1,is_fulltime_worker
47+
PT worker non-student age 16+,_empCat2,is_parttime_worker
48+
PT_worker_nonstudent_age_16plus,_PT_worker_nonstudent_age_16plus,(~_empCat1) & (_stdCat3) & (_empCat2)
49+
Nonworker_nonstudent_age_65plus,_Nonworker_nonstudent_age_65plus,(~_empCat1) & (_stdCat3) & (~_empCat2) & (persons['agep'] >= 65)
50+
Preschool_under_age_6,_Preschool_under_age_6,(~_empCat1) & (_stdCat3) & (~_empCat2) & (persons['agep'] < 6)
51+
Nonworker_nonstudent_age_16_64,_Nonworker_nonstudent_age_16_64,(~_empCat1) & (_stdCat3) & (~_empCat2) & (persons['agep'] >= 6) & (persons['agep'] < 65)
52+
University/GED/Trade student either working PT or not employed,_University_student,(~_empCat1) & (_stdCat2)
53+
Preschool_under_age_6,_Preschool_under_age_6,(~_empCat1) & (~_stdCat3) & (~_stdCat2) & (persons['agep'] < 6)
54+
Student_age_16_19_not_FT_wrkr_or_univ_stud,_Student_age_16_19_not_FT_wrkr_or_univ_stud,(~_empCat1) & (~_stdCat3) & (~_stdCat2) & (persons['agep'] >= 16)
55+
Grade or high school student too young to drive,_Student_age_6_15_schpred,(~_empCat1) & (~_stdCat3) & (~_stdCat2) & (persons['agep'] >= 6) & (persons['agep'] <16)
56+
PreschoolStudent (more strict condition for preSchool Child),_isPreSchoolStudent,(_Preschool_under_age_6) & (is_k12)
57+
# Person Type,,
58+
FT worker age 16+ (Full-time worker),ptype,"np.where(_empCat1, 1, 0)"
59+
PT worker non-student age 16+ (Part-time worker),ptype,"np.where(_PT_worker_nonstudent_age_16plus, 2, ptype)"
60+
university student (University student),ptype,"np.where(_University_student, 3, ptype)"
61+
non-worker non-student age 16-64 (Non-working adult),ptype,"np.where(_Nonworker_nonstudent_age_16_64, 4, ptype)"
62+
non-worker non-student age 65+ (Retired),ptype,"np.where(_Nonworker_nonstudent_age_65plus, 5, ptype)"
63+
"age 16-19 student, not FT worker or university student",ptype,"np.where(_Student_age_16_19_not_FT_wrkr_or_univ_stud, 6, ptype)"
64+
age 6-15 pre-drive school student,ptype,"np.where(_Student_age_6_15_schpred, 7, ptype)"
65+
under age 6 children,ptype,"np.where(_Preschool_under_age_6, 8, ptype)"
66+
PreSchoolStudent,PreSchoolStudent,"np.where(_isPreSchoolStudent, 1, 0)"
67+
Employment dummy for university and driving age school children,student_is_employed,((_University_student)|(is_driving_age)) & ((is_fulltime_worker)|(is_parttime_worker))
68+
"School dummy for full-time workers, part-time workers, non-workers and retirees",nonstudent_goes_to_school,(((ptype==1)|(ptype==2)|(ptype==4)|(ptype==5)) & ((_Student_age_6_15_schpred)|(_University_student)))
69+
Pre School Children,preschoolChildren,ptype==8

0 commit comments

Comments
 (0)