In [1]:
import numpy as np, pandas as pd, os
from synthicity.utils import misc
from drcog.models import regression_model_estimation, choice_model_estimation, dataset
dset = dataset.DRCOGDataset(os.path.join(misc.data_dir(),'drcog.h5'))

In [2]:
import psycopg2
import pandas.io.sql as sql
conn_string = "host='paris.urbansim.org' port=5433 dbname='denver' user='drcog' password='M0untains#'"
conn = psycopg2.connect(conn_string)
cur = conn.cursor()
hh_buffer = sql.read_frame('select * from hh_buffer',conn)
hh_job_buffer = sql.read_frame('select * from hh_job_buffer',conn)
job_buffer = sql.read_frame('select * from job_buffer',conn)
job_hh_buffer = sql.read_frame('select * from job_hh_buffer',conn)

In [19]:
hh_buffer = hh_buffer.set_index('taz05_id')
hh_job_buffer = hh_job_buffer.set_index('taz05_id')
job_buffer = job_buffer.set_index('taz05_id')
job_hh_buffer = job_hh_buffer.set_index('taz05_id')

In [20]:
print hh_buffer
print hh_job_buffer
print job_buffer
print job_hh_buffer


<class 'pandas.core.frame.DataFrame'>
Int64Index: 2508 entries, 301490 to 403090
Data columns (total 1 columns):
hhvirhhbuffer    2508  non-null values
dtypes: int64(1)
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2453 entries, 301490 to 512130
Data columns (total 1 columns):
hhvirempbuffer    2453  non-null values
dtypes: int64(1)
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2576 entries, 301490 to 102250
Data columns (total 7 columns):
empdensempcentroid           2576  non-null values
eddensempcentroid            2576  non-null values
entdensempcentroid           2576  non-null values
servdensempcentroid          2576  non-null values
proddensempcentroid          2576  non-null values
restaurantdensempcentroid    2576  non-null values
retaildensempcentroid        2576  non-null values
dtypes: int64(7)
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2550 entries, 301490 to 502110
Data columns (total 4 columns):
total_jobs                             2550  non-null values
retaildenshhcentroid                   2550  non-null values
restaurantemploymenthouseholdbuffer    2550  non-null values
retailemploymenthouseholdbuffer        2550  non-null values
dtypes: int64(4)

In [7]:
fixed_vars = pd.read_csv('C:\\urbansim\\data\\travel_model\\fixed.csv')

In [13]:
taz = fixed_vars[['TAZ05_ID']]
taz.columns = ['taz05_id']
taz = taz.set_index('taz05_id')

In [23]:
for df in [hh_buffer, hh_job_buffer, job_buffer, job_hh_buffer]:
    for column in df.columns:
        taz[column] = df[column]

In [25]:
taz = taz.fillna(0)

In [30]:
taz.to_csv('c://users//janowicz//desktop//test_buffers.csv')

In [34]:
taz = taz.rename(columns={'hhvirhhbuffer': 'HouseholdsVirtualHHCentroidBuffer', 'hhvirempbuffer': 'HouseholdsEmpVirtualCentroidBuffer', 'empdensempcentroid': 'EmpDensEmpCentroid', 
                          'eddensempcentroid': 'EdDensEmpCentroid', 'entdensempcentroid': 'EntDensEmpCentroid', 'servdensempcentroid': 'ServDensEmpCentroid', 
                          'proddensempcentroid': 'ProdDensEmpCentroid', 'restaurantdensempcentroid': 'RestaurantDensEmpCentroid', 'retaildensempcentroid': 'RetailDensEmpCentroid', 
                          'restaurantemploymenthouseholdbuffer': 'RestaurantEmploymentHouseholdBuffer', 'retailemploymenthouseholdbuffer': 'RetailEmploymentHouseholdBuffer',
                          'servdenshhcentroid': 'ServDensHHCentroid', })

In [35]:
taz


Out[35]:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 2804 entries, 101010 to 803120
Data columns (total 14 columns):
ZoneID                                 2804  non-null values
HouseholdsVirtualHHCentroidBuffer      2804  non-null values
HouseholdsEmpVirtualCentroidBuffer     2804  non-null values
EmpDensEmpCentroid                     2804  non-null values
EdDensEmpCentroid                      2804  non-null values
EntDensEmpCentroid                     2804  non-null values
ServDensEmpCentroid                    2804  non-null values
ProdDensEmpCentroid                    2804  non-null values
RestaurantDensEmpCentroid              2804  non-null values
RetailDensEmpCentroid                  2804  non-null values
total_jobs                             2804  non-null values
retaildenshhcentroid                   2804  non-null values
RestaurantEmploymentHouseholdBuffer    2804  non-null values
RetailEmploymentHouseholdBuffer        2804  non-null values
dtypes: float64(13), int64(1)

In [38]:
taz['resden'] = taz.HouseholdsVirtualHHCentroidBuffer/1000.0
taz['retden'] = (taz.RestaurantEmploymentHouseholdBuffer + taz.RetailEmploymentHouseholdBuffer)/1000.0
taz['MixedUseDensityHouseholdCentroid'] = (taz.retden*taz.resden)/np.maximum(np.array([.0001]*2804),(taz.retden+taz.resden))

In [40]:
taz['resden'] = taz.HouseholdsEmpVirtualCentroidBuffer/1000.0
taz['retden'] = (taz.RestaurantDensEmpCentroid + taz.RetailDensEmpCentroid)/1000.0
taz['MixedUseDensityEmploymentCentroid'] = (taz.retden*taz.resden)/np.maximum(np.array([.0001]*2804),(taz.retden+taz.resden))

In [41]:
taz.MixedUseDensityEmploymentCentroid


Out[41]:
taz05_id
101010      0.000000
101020      0.000000
101030      0.000000
101040      0.000000
101050      0.000000
101060      0.000000
101070      0.000000
101080      0.132680
101090      0.000000
101100      0.000000
101110      0.000000
101120      0.000000
101130      0.000000
102010      0.000000
102020      0.088297
...
802502      0.017102
802510      0.000000
802520      0.003977
802530      0.004971
802540      0.000996
802550      0.000000
803040      0.001810
803050      0.000000
803060      0.000000
803070      0.012627
803080      0.001983
803090      0.000000
803100      0.000000
803110      0.000000
803120      0.002357
Name: MixedUseDensityEmploymentCentroid, Length: 2804, dtype: float64

In [44]:
pc = dset.store.parcel_coords

In [46]:
pc.describe()


Out[46]:
parcel_id x y
count 3162512.000000 3162512.000000 3162512.000000
mean 597105.712568 3184116.360599 1689391.047672
std 381059.180516 364443.952330 221446.650327
min 1.000000 0.000000 0.000000
25% 219557.000000 3110447.000000 1628409.000000
50% 608138.000000 3170916.000000 1697839.000000
75% 963874.250000 3250266.000000 1774834.000000
max 1128935.000000 96610777.000000 51331606.000000