-
Notifications
You must be signed in to change notification settings - Fork 0
/
process.py
38 lines (28 loc) · 986 Bytes
/
process.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import argparse
import pandas as pd
import numpy as np
from os.path import basename
PARAMS = ['scarcity']
# splits the name of an output file by _ and extracts the values of simulation parameters
def get_params(filename):
params = basename(filename).rstrip('.csv').split("_")[1:]
out = {}
for i in range(len(params)):
out[PARAMS[i]] = float(params[i])
return out
parser = argparse.ArgumentParser(description='Process simulation data.')
parser.add_argument('in_files', type=str, nargs='+',
help='The data input files')
args = parser.parse_args()
#Load Data
df = pd.DataFrame()
for filename in args.in_files:
csv = pd.read_csv(filename)
params = get_params(filename)
for name, val in params.items():
csv[name] = val
df = df.append(csv, ignore_index=True)
df = df[df.accepted == 1]
# Calculate utility of each deployment
df['utility'] = df.apply(lambda x : x.unit_price, axis=1)
df.to_pickle("./utilities.pkl")