def bc_factors(part, f): bc_tmp = deepcopy(filled) for sex in ['m', 'f', 'p']: bc_tmp['{}_{}'.format(part, sex)] = bc_tmp['{}_{}'.format(part, sex)] * f output = bc_calc(bc_tmp, components=components) output['rate'] = f output['part'] = part print 'B/C Ratio for {} and factor {} calculated.'.format(part, f) return output
def bc_factors(part, f): bc_tmp = deepcopy(filled) for sex in ['m', 'f', 'p']: bc_tmp['{}_{}'.format(part, sex)] = bc_tmp['{}_{}'.format(part, sex)] * f output = bc_calc(bc_tmp, etype=etype, components=components) output['rate'] = f output['part'] = part print 'B/C Ratio for {} and factor {} calculated.'.format(part, f) return output
import os import sys import pandas as pd import numpy as np from copy import deepcopy # Paths sys.path.extend([os.path.join(os.path.dirname(__file__), '..')]) filedir = os.path.join(os.path.dirname(__file__)) plots = os.path.join(filedir, '..', 'rslt', 'sensitivity') from cba_setup import bc_calc, makeflows etype = 2 filled = makeflows(etype=etype) # vary discount rate bc_discount = pd.DataFrame([]) for r in np.arange(0,0.16,0.01) : bc_tmp = deepcopy(filled) output = bc_calc(bc_tmp, rate=r) output['rate'] = r bc_discount = pd.concat([bc_discount, output], axis=0) print 'B/C ratio for discount rate {} calculated.'.format(r) bc_discount.sort_index(inplace=True) bc_discount.to_csv(os.path.join(plots, 'bc_discount.csv'), index=True)
## vary DWL: BC bc_dwl = pd.DataFrame([]) for d in rate_range: bc_tmp = deepcopy(filled) for sex in ['m', 'f', 'p']: for part in [ 'inc_trans_pub_{}'.format(sex), 'diclaim_{}'.format(sex), 'ssclaim_{}'.format(sex), 'ssiclaim_{}'.format(sex) ]: bc_tmp[part] = bc_tmp[part] * (d / 0.5) for part in ['edu_{}'.format(sex)]: bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] = \ bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] * ((1 + d)/1.5) for part in [ 'ccpublic_{}'.format(sex), 'crimepublic_{}'.format(sex), 'health_public_{}'.format(sex), 'costs_{}'.format(sex) ]: bc_tmp[part] = bc_tmp[part] * ((1 + d) / 1.5) output = bc_calc(bc_tmp) output['rate'] = d bc_dwl = pd.concat([bc_dwl, output], axis=0) print 'B/C Ratio for MCW {} calculated.'.format(d) bc_dwl.sort_index(inplace=True) bc_dwl.to_csv(os.path.join(plots, 'bc_dwl.csv'), index=True) print bc_dwl
import sys import pandas as pd import numpy as np from copy import deepcopy # Paths sys.path.extend([os.path.join(os.path.dirname(__file__), '..')]) filedir = os.path.join(os.path.dirname(__file__)) plots = os.path.join(filedir, '..', 'rslt', 'sensitivity') from cba_setup import bc_calc, makeflows from cba_N import N etype = 2 filled = makeflows(etype=etype) # vary discount rate bc_discount = pd.DataFrame([]) for r in np.arange(0,0.16,0.01) : bc_tmp = deepcopy(filled) output = bc_calc(bc_tmp, etype=etype, rate=r) output['rate'] = r bc_discount = pd.concat([bc_discount, output], axis=0) print 'B/C ratio for discount rate {} calculated.'.format(r) bc_discount.sort_index(inplace=True) bc_discount.to_csv(os.path.join(plots, 'bc_discount.csv'), index=True)
7: P=1, "ITT" with controls and weights 8: P=1, matching ''' etype = 2 filled = makeflows(etype=etype) ## vary DWL: BC bc_dwl = pd.DataFrame([]) for d in rate_range: bc_tmp = deepcopy(filled) for sex in ['m', 'f', 'p']: for part in ['inc_trans_pub_{}'.format(sex), 'diclaim_{}'.format(sex), 'ssclaim_{}'.format(sex), 'ssiclaim_{}'.format(sex)]: bc_tmp[part] = bc_tmp[part] * (d/0.5) for part in ['edu_{}'.format(sex)]: bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] = \ bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] * ((1 + d)/1.5) for part in ['ccpublic_{}'.format(sex), 'crimepublic_{}'.format(sex), 'health_public_{}'.format(sex), 'costs_{}'.format(sex)]: bc_tmp[part] = bc_tmp[part] * ((1+d)/1.5) output = bc_calc(bc_tmp) output['rate'] = d bc_dwl = pd.concat([bc_dwl, output], axis=0) print 'B/C Ratio for MCW {} calculated.'.format(d) bc_dwl.sort_index(inplace=True) bc_dwl.to_csv(os.path.join(plots, 'bc_dwl.csv'), index=True) print bc_dwl
8: P=1, matching ''' etype = 2 filled = makeflows(etype=etype) ## vary DWL: BC bc_dwl = pd.DataFrame([]) for d in rate_range: bc_tmp = deepcopy(filled) for sex in ['m', 'f', 'p']: for part in ['inc_trans_pub_{}'.format(sex), 'diclaim_{}'.format(sex), 'ssclaim_{}'.format(sex), 'ssiclaim_{}'.format(sex)]: bc_tmp[part] = bc_tmp[part] * (d/0.5) for part in ['edu_{}'.format(sex), 'm_ed_{}'.format(sex)]: bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] = \ bc_tmp[part].loc[(sex, slice(None), slice(None)), slice('c0','c18')] * ((1 + d)/1.5) for part in ['ccpublic_{}'.format(sex), 'crimepublic_{}'.format(sex), 'health_public_{}'.format(sex), 'costs_{}'.format(sex)]: bc_tmp[part] = bc_tmp[part] * ((1+d)/1.5) output = bc_calc(bc_tmp, etype=etype) output['rate'] = d bc_dwl = pd.concat([bc_dwl, output], axis=0) print 'B/C Ratio for MCW {} calculated.'.format(d) bc_dwl.sort_index(inplace=True) bc_dwl.to_csv(os.path.join(plots, 'bc_dwl.csv'), index=True) print bc_dwl