-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPGS_clsUnifyML.py
76 lines (74 loc) · 3.03 KB
/
PGS_clsUnifyML.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import sys
from os import path
from numpy import full
import pandas as pd
from functools import reduce
from datetime import datetime
import MoNeT_MGDrivE as monet
import PGS_aux as aux
import PGS_gene as drv
if monet.isNotebook():
(USR, DRV, AOI, THS) = ('srv', 'PGS', 'HLT', '0.1')
else:
(USR, DRV, AOI, THS) = (sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])
# Setup number of threads -----------------------------------------------------
JOB = aux.JOB_DSK
if USR == 'srv':
JOB = aux.JOB_SRV
CHUNKS = JOB
###########################################################################
# Paths
###########################################################################
(drive, land) = (
drv.driveSelector(DRV, AOI, popSize=aux.POP_SIZE),
aux.landSelector()
)
(gene, fldr) = (drive.get('gDict'), drive.get('folder'))
(PT_ROT, PT_IMG, PT_DTA, PT_PRE, PT_OUT, PT_MTR) = aux.selectPath(USR, fldr)
PT_OUT = path.join(PT_ROT, 'ML')
PT_IMG = path.join(PT_OUT, 'img')
[monet.makeFolder(i) for i in [PT_OUT, PT_IMG]]
PT_SUMS = path.join(PT_ROT, 'SUMMARY')
# Time and head -----------------------------------------------------------
tS = datetime.now()
monet.printExperimentHead(
PT_ROT, PT_OUT, tS,
'{} ClsUnifyML [{}:{}]'.format(DRV, AOI, THS)
)
###############################################################################
# Merge Dataframes
###############################################################################
for fid in ('SCA', 'REG'):
dataFrames = []
mtr = 'MNX'
for mtr in ['TTI', 'TTO', 'WOP']:
print(monet.CBBL+'* Processing {}'.format(mtr)+monet.CEND, end='\r')
pth = path.join(PT_OUT, '{}_{}_{}_MLR.csv'.format(fid, AOI, mtr))
dta = pd.read_csv(pth)
dataCols = [k for k in dta.columns if k[0]=='i']+[THS]
dta = dta[dataCols]
dta = dta.rename(columns={THS: mtr})
dataFrames.append(dta)
for mtr in ['CPT', ]:
print(monet.CBBL+'* Processing {}'.format(mtr)+monet.CEND, end='\r')
pth = path.join(PT_OUT, '{}_{}_{}_MLR.csv'.format(fid, AOI, mtr))
dta = pd.read_csv(pth)
dataFrames.append(dta)
for mtr in ['MNX', ]:
print(monet.CBBL+'* Processing {}'.format(mtr)+monet.CEND, end='\r')
pth = path.join(PT_OUT, '{}_{}_{}_MLR.csv'.format(fid, AOI, mtr))
dta = pd.read_csv(pth)
dataCols = [k for k in dta.columns if k[0]=='i']+['min']
dta = dta[dataCols]
dta = dta.rename(columns={'min': 'MNF'})
dataFrames.append(dta)
print(monet.CBBL+'* Reducing Dataframes {}'.format(mtr)+monet.CEND, end='\r')
indVars = [i[0] for i in aux.DATA_HEAD]
for (i, mtr) in enumerate(('TTO', 'WOP', 'CPT', 'MNF')):
dataFrames[0][mtr] = dataFrames[i+1][mtr]
fullDataframe = dataFrames[0]
###########################################################################
# Export
###########################################################################
fNameOut = '{}_{}_{}T_MLR.csv'.format(fid, AOI, int(float(THS)*100))
fullDataframe.to_csv(path.join(PT_OUT, fNameOut), index=False)