diff options
Diffstat (limited to 'data/combined/mean.py')
| -rwxr-xr-x | data/combined/mean.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/data/combined/mean.py b/data/combined/mean.py new file mode 100755 index 0000000..2499beb --- /dev/null +++ b/data/combined/mean.py @@ -0,0 +1,47 @@ +#!/usr/bin/python + +import sys +import numpy as np + +sk_file = open(sys.argv[1]) +try: + div = float(sys.argv[2]) +except: + div = 2.0 +labels = sk_file.readline().strip().split(',') +beg = labels.index('h-sc') +data = {} +#print ','.join(['#name'] + labels[beg:]) +for i in range(1,40): + data[str(i)] = {} + for l in labels[beg:]: + data[str(i)][l] = [] + +for line in sk_file: + line = line.strip().split(',') + #limbs = line[beg:] + if "-1" not in line and 2 < float(line[labels.index('z-value')]) < 3: + id = line[labels.index('name')] + for x in labels[beg:]: data[id][x] += [float(line[labels.index(x)])] + +for i in data: + out = [i] + for l in labels[beg:]: + if len(data[i][l]) > 1: + data[i][l] = np.average(data[i][l]) + out += [str(np.average(data[i][l]))] + #if len(out) > 1: + # print ','.join(out) + +sk_file.seek(0) +print sk_file.readline().strip() +for line in sk_file: + line = line.strip().split(',') + id = line[labels.index('name')] + for l in labels[beg:]: + obs = float(line[labels.index(l)]) + if obs > 0: + diff = obs-data[id][l] + line[labels.index(l)] = str(obs - diff/div) + print ','.join(line) + |
