def combinedThresholdPlot(): import copy folders = [folder for folder in os.listdir(os.getcwd()) if os.path.isdir(folder) and not folder == 'localBaseDir' and not folder == 'ghousing.jobs'] tableList = [ (folder, os.path.join(os.getcwd(), folder, 'output', 'ownershipThreshold_1.out')) for folder in folders ] tableDicts = dict([ (folder, tableDict.fromTextFile(table, width = np.max([len(folder) for folder in folders]) + 5, prec = 10)) for folder, table in tableList if os.path.isfile(table)]) tableKeys = tableDicts.keys() tableKeys.sort() if tableDicts: for ixTable, tableKey in enumerate(tableKeys): # print tableKey # print tableDicts[tableKey] table = copy.deepcopy(tableDicts[tableKey]) table.keep(['age', 'yst1']) table.rename('yst1', tableKey) if ixTable == 0: fullTable = copy.deepcopy(table) else: fullTable.merge(table, 'age') if '_merge' in fullTable.cols: fullTable.drop('_merge') logger.info(fullTable) logger.info(fullTable) f = open(os.path.join(os.getcwd(), 'ownerThresholds'), 'w') print >> f, fullTable f.flush() ax = 3 plotSimulation(table = os.path.join(os.getcwd(), 'ownerThresholds'), xVar = 'age', yVars = list(fullTable.cols), figureFile = os.path.join(os.getcwd(), 'ownerThresholds.png'), verb = 'CRITICAL' )
def combinedOwnerSimuPlot(): import copy logger.debug('starting combinedOwnerSimuPlot') folders = [ folder for folder in os.listdir(os.getcwd()) if os.path.isdir(folder) and not folder == 'localBaseDir' and not folder == 'ghousing.jobs' ] logger.debug('folders are %s ' % folders) tableList = [(folder, os.path.join(os.getcwd(), folder, 'output', 'aggregate.out')) for folder in folders] tableDicts = dict([(folder, tableDict.fromTextFile( table, width=np.max([len(folder) for folder in folders]) + 5, prec=10)) for folder, table in tableList if os.path.isfile(table)]) tableKeys = tableDicts.keys() tableKeys.sort() if tableDicts: for ixTable, tableKey in enumerate(tableKeys): table = copy.deepcopy(tableDicts[tableKey]) table.keep(['age', 'owner']) table.rename('owner', tableKey) if ixTable == 0: fullTable = copy.deepcopy(table) else: fullTable.merge(table, 'age') fullTable.drop('_merge') logger.info(fullTable) empOwnershipFile = os.path.join(os.getcwd(), 'localBaseDir', 'input', 'PSIDOwnershipProfilealleduc.out') empOwnershipTable = tableDict.fromTextFile(empOwnershipFile, width=20, prec=10) empOwnershipTable.rename('PrOwnership', 'empOwnership') fullTable.merge(empOwnershipTable, 'age') fullTable.drop('_merge') if fullTable: logger.info(fullTable) f = open(os.path.join(os.getcwd(), 'ownerSimu'), 'w') print >> f, fullTable f.flush() else: logger.info('no owner simus') logger.debug('done combinedOwnerSimuPlot') plotSimulation(table=os.path.join(os.getcwd(), 'ownerSimu'), xVar='age', yVars=list(fullTable.cols), yVarRange=(0., 1.), figureFile=os.path.join(os.getcwd(), 'ownerSimu.png'), verb='CRITICAL')
def combinedOwnerSimuPlot(): import copy logger.debug("starting combinedOwnerSimuPlot") folders = [ folder for folder in os.listdir(os.getcwd()) if os.path.isdir(folder) and not folder == "localBaseDir" and not folder == "ghousing.jobs" ] logger.debug("folders are %s " % folders) tableList = [(folder, os.path.join(os.getcwd(), folder, "output", "aggregate.out")) for folder in folders] tableDicts = dict( [ (folder, tableDict.fromTextFile(table, width=np.max([len(folder) for folder in folders]) + 5, prec=10)) for folder, table in tableList if os.path.isfile(table) ] ) tableKeys = tableDicts.keys() tableKeys.sort() if tableDicts: for ixTable, tableKey in enumerate(tableKeys): table = copy.deepcopy(tableDicts[tableKey]) table.keep(["age", "owner"]) table.rename("owner", tableKey) if ixTable == 0: fullTable = copy.deepcopy(table) else: fullTable.merge(table, "age") fullTable.drop("_merge") logger.info(fullTable) empOwnershipFile = os.path.join(os.getcwd(), "localBaseDir", "input", "PSIDOwnershipProfilealleduc.out") empOwnershipTable = tableDict.fromTextFile(empOwnershipFile, width=20, prec=10) empOwnershipTable.rename("PrOwnership", "empOwnership") fullTable.merge(empOwnershipTable, "age") fullTable.drop("_merge") if fullTable: logger.info(fullTable) f = open(os.path.join(os.getcwd(), "ownerSimu"), "w") print >> f, fullTable f.flush() else: logger.info("no owner simus") logger.debug("done combinedOwnerSimuPlot") plotSimulation( table=os.path.join(os.getcwd(), "ownerSimu"), xVar="age", yVars=list(fullTable.cols), yVarRange=(0.0, 1.0), figureFile=os.path.join(os.getcwd(), "ownerSimu.png"), verb="CRITICAL", )
def combinedThresholdPlot(): import copy folders = [ folder for folder in os.listdir(os.getcwd()) if os.path.isdir(folder) and not folder == "localBaseDir" and not folder == "ghousing.jobs" ] tableList = [ (folder, os.path.join(os.getcwd(), folder, "output", "ownershipThreshold_1.out")) for folder in folders ] tableDicts = dict( [ (folder, tableDict.fromTextFile(table, width=np.max([len(folder) for folder in folders]) + 5, prec=10)) for folder, table in tableList if os.path.isfile(table) ] ) tableKeys = tableDicts.keys() tableKeys.sort() if tableDicts: for ixTable, tableKey in enumerate(tableKeys): # print tableKey # print tableDicts[tableKey] table = copy.deepcopy(tableDicts[tableKey]) table.keep(["age", "yst1"]) table.rename("yst1", tableKey) if ixTable == 0: fullTable = copy.deepcopy(table) else: fullTable.merge(table, "age") if "_merge" in fullTable.cols: fullTable.drop("_merge") logger.info(fullTable) logger.info(fullTable) f = open(os.path.join(os.getcwd(), "ownerThresholds"), "w") print >> f, fullTable f.flush() ax = 3 plotSimulation( table=os.path.join(os.getcwd(), "ownerThresholds"), xVar="age", yVars=list(fullTable.cols), figureFile=os.path.join(os.getcwd(), "ownerThresholds.png"), verb="CRITICAL", )
def combinedThresholdPlot(): import copy folders = [ folder for folder in os.listdir(os.getcwd()) if os.path.isdir(folder) and not folder == 'localBaseDir' and not folder == 'ghousing.jobs' ] tableList = [(folder, os.path.join(os.getcwd(), folder, 'output', 'ownershipThreshold_1.out')) for folder in folders] tableDicts = dict([(folder, tableDict.fromTextFile( table, width=np.max([len(folder) for folder in folders]) + 5, prec=10)) for folder, table in tableList if os.path.isfile(table)]) tableKeys = tableDicts.keys() tableKeys.sort() if tableDicts: for ixTable, tableKey in enumerate(tableKeys): # print tableKey # print tableDicts[tableKey] table = copy.deepcopy(tableDicts[tableKey]) table.keep(['age', 'yst1']) table.rename('yst1', tableKey) if ixTable == 0: fullTable = copy.deepcopy(table) else: fullTable.merge(table, 'age') if '_merge' in fullTable.cols: fullTable.drop('_merge') logger.info(fullTable) logger.info(fullTable) f = open(os.path.join(os.getcwd(), 'ownerThresholds'), 'w') print >> f, fullTable f.flush() ax = 3 plotSimulation(table=os.path.join(os.getcwd(), 'ownerThresholds'), xVar='age', yVars=list(fullTable.cols), figureFile=os.path.join(os.getcwd(), 'ownerThresholds.png'), verb='CRITICAL')
def combinedOwnerSimuPlot(): import copy logger.debug('starting combinedOwnerSimuPlot') folders = [folder for folder in os.listdir(os.getcwd()) if os.path.isdir(folder) and not folder == 'localBaseDir' and not folder == 'ghousing.jobs'] logger.debug('folders are %s ' % folders) tableList = [ (folder, os.path.join(os.getcwd(), folder, 'output', 'aggregate.out')) for folder in folders ] tableDicts = dict([ (folder, tableDict.fromTextFile(table, width = np.max([len(folder) for folder in folders]) + 5, prec = 10)) for folder, table in tableList if os.path.isfile(table)]) tableKeys = tableDicts.keys() tableKeys.sort() if tableDicts: for ixTable, tableKey in enumerate(tableKeys): table = copy.deepcopy(tableDicts[tableKey]) table.keep(['age', 'owner']) table.rename('owner', tableKey) if ixTable == 0: fullTable = copy.deepcopy(table) else: fullTable.merge(table, 'age') fullTable.drop('_merge') logger.info(fullTable) empOwnershipFile = os.path.join(os.getcwd(), 'localBaseDir', 'input', 'PSIDOwnershipProfilealleduc.out') empOwnershipTable = tableDict.fromTextFile(empOwnershipFile, width = 20, prec = 10) empOwnershipTable.rename('PrOwnership', 'empOwnership') fullTable.merge(empOwnershipTable, 'age') fullTable.drop('_merge') if fullTable: logger.info(fullTable) f = open(os.path.join(os.getcwd(), 'ownerSimu'), 'w') print >> f, fullTable f.flush() else: logger.info('no owner simus') logger.debug('done combinedOwnerSimuPlot') plotSimulation(table = os.path.join(os.getcwd(), 'ownerSimu'), xVar = 'age', yVars = list(fullTable.cols), yVarRange = (0., 1.), figureFile = os.path.join(os.getcwd(), 'ownerSimu.png'), verb = 'CRITICAL' )
aggregateOutTable = tableDict.fromTextFile(aggregateOut, width = 20, prec = 10) aggregateOutTable.keep(['age', 'owner']) aggregateOutTable.rename('owner', 'thOwnership') empOwnershipTable = tableDict.fromTextFile(empOwnershipFile, width = 20, prec = 10) empOwnershipTable.rename('PrOwnership', 'empOwnership') print empOwnershipTable # print empOwnershipTable.cellFormat ownershipTable = aggregateOutTable.merged(empOwnershipTable, 'age') print ownershipTable # print ownershipTable.cellFormat yVars = ['thOwnership', 'empOwnership'] # add the individual simulations for profile in [ '1', '2', '3' ]: profileOwnershipFile = os.path.join(output_dir, 'simulation_' + profile + '.out') if not os.path.exists(profileOwnershipFile): continue profileOwnershipTable = tableDict.fromTextFile(profileOwnershipFile, width = 20, prec = 10) profileOwnershipTable.keep(['age', 'owner']) profileOwnershipTable.rename('owner', 'thOwnership_' + profile) ownershipTable.merge(profileOwnershipTable, 'age') ownershipTable.drop('_merge') print ownershipTable f = open(ownershipTableFile, 'w') print >> f, ownershipTable f.close() plotSimulation(table = ownershipTableFile, xVar = 'age', yVars = yVars, yVarRange = (0., 1.), figureFile = os.path.join(output_dir, 'ownership.png'), verb = 'CRITICAL') # make plot of life-cycle simulation (all variables) makeAggregatePlot(output_dir)
ownershipTable = aggregateOutTable.merged(empOwnershipTable, 'age') print ownershipTable # print ownershipTable.cellFormat yVars = ['thOwnership', 'empOwnership'] # add the individual simulations for profile in ['1', '2', '3']: profileOwnershipFile = os.path.join(output_dir, 'simulation_' + profile + '.out') if not os.path.exists(profileOwnershipFile): continue profileOwnershipTable = tableDict.fromTextFile(profileOwnershipFile, width=20, prec=10) profileOwnershipTable.keep(['age', 'owner']) profileOwnershipTable.rename('owner', 'thOwnership_' + profile) ownershipTable.merge(profileOwnershipTable, 'age') ownershipTable.drop('_merge') print ownershipTable f = open(ownershipTableFile, 'w') print >> f, ownershipTable f.close() plotSimulation(table=ownershipTableFile, xVar='age', yVars=yVars, yVarRange=(0., 1.), figureFile=os.path.join(output_dir, 'ownership.png'), verb='CRITICAL') # make plot of life-cycle simulation (all variables) makeAggregatePlot(output_dir)