In [1]:
import numpy as np, pandas as pd, os
from synthicity.utils import misc
from drcog.models import transition, dataset
dset = dataset.DRCOGDataset(os.path.join(misc.data_dir(),'drcog.h5'))
from drcog.variables import variable_library
variable_library.calculate_variables(dset)
In [9]:
#hh_controls = dset.store.annual_household_control_totals
ct = dset.fetch('annual_household_control_totals')
if 'persons' in ct.columns:
del ct['persons']
# hh = dset.households
# persons = dset.persons
# hh = pd.read_csv('c://users//janowicz//desktop//transition_model_test_data//drcog_test_hh.csv')
# persons = pd.read_csv('c://users//janowicz//desktop//transition_model_test_data//drcog_test_persons.csv')
# hh = hh.set_index('household_id')
hh = dset.fetch('households')
persons = dset.fetch('persons')
In [10]:
tran = transition.TabularTotalsTransition(ct, 'total_number_of_households')
model = transition.TransitionModel(tran)
new, added, new_linked = model.transition(
hh, 2013, linked_tables={'linked': (persons, 'household_id')})
new.loc[added,'building_id'] = -1
dset.d['households'] = new
dset.d['persons'] = new_linked['linked']
In [11]:
hh = dset.fetch('households')
persons = dset.fetch('persons')
In [16]:
persons.tail()
Out[16]:
In [17]:
hh[['building_id']].tail()
Out[17]:
In [19]:
hh
Out[19]:
In [6]:
hh['building_id'] = 200
hh.head()
Out[6]:
In [10]:
hh_controls = dset.store.annual_household_control_totals
In [13]:
'persons' in hh_controls.columns
Out[13]:
In [3]:
hh_controls.to_csv('c://users//janowicz//desktop//annual_household_control_totals.csv')
In [4]:
print hh.describe()
print persons.describe()
In [4]:
hh_controls
Out[4]:
In [7]:
tran = transition.TabularTotalsTransition(hh_controls, 'total_number_of_households')
In [8]:
model = transition.TransitionModel(tran)
In [9]:
#new = model.transition(hh,2012)
new, added, new_linked = model.transition(
hh, 2012, linked_tables={'linked': (persons, 'household_id')})
In [14]:
new.loc[added,'building_id'] = -1
In [15]:
print new.head()
new.describe()
Out[15]:
In [16]:
new.head(50)
Out[16]:
In [17]:
new.tail(50)
Out[17]:
In [ ]:
In [7]:
new_linked['linked'].describe()
Out[7]:
In [8]:
persons.describe()
Out[8]:
In [8]:
new[0].building_id.describe()
Out[8]:
In [14]:
len(new[1])
Out[14]:
In [ ]:
hh =