def aggregate_regions(fp):
# aggregate regions and supply portfolios
# easier to do this with pandas by just reading the CSVs again
sc = pd.read_csv(fp + '/shortage_cost.csv', index_col=0, parse_dates=True)
sv = pd.read_csv(fp + '/shortage_volume.csv', index_col=0, parse_dates=True)
flow = pd.read_csv(fp + '/flow.csv', index_col=0, parse_dates=True)
demand_nodes = pd.read_csv('calvin/data/demand_nodes.csv', index_col = 0)
portfolio = pd.read_csv('calvin/data/portfolio.csv', index_col = 0)
for R in demand_nodes.region.unique():
for t in demand_nodes.type.unique():
ix = demand_nodes.index[(demand_nodes.region == R) &
(demand_nodes.type == t)]
sc['%s_%s' % (R,t)] = sc[ix].sum(axis=1)
sv['%s_%s' % (R,t)] = sv[ix].sum(axis=1)
for P in portfolio.region.unique():
for k in portfolio.supplytype.unique():
for t in portfolio.type.unique():
ix = portfolio.index[(portfolio.region == P) &
(portfolio.type ==t) &
(portfolio.supplytype == k)]
flow['%s_%s_%s' % (P,k,t)] = flow[ix].sum(axis=1)
sc.to_csv(fp + '/shortage_cost.csv')
sv.to_csv(fp + '/shortage_volume.csv')
flow.to_csv(fp + '/flow.csv')
评论列表
文章目录