def _merge(ks, outpath): k = Kyub.merge(*ks) def _mkTC(hu): p = hu.split('=') h = p[0] u = p[1] if len(p) > 1 else None return Column(h, iterable=k.get_treatment_column(hu), units=u) def _mkDC(h): return Column(h, iterable=k.get_column(h)) tc = [_mkTC(f) for f in k.factors] dc = [_mkDC(f) for f in k.readouts] datapflex.write_datapflex(outpath, tc, dc)
def diff(path_a, path_b): def _getkyub(path): return Kyub(*datapflex.read_datapflex(path)) diffs, dkyub = Kyub.diff(*map(_getkyub, (path_a, path_b))) return '\n'.join(diffs), dkyub
def _getkyub(path): return Kyub(*datapflex.read_datapflex(path)) # irdir = '/home/gfb2/IR' # dpdir = op.join(irdir, 'DATAPFLEX_111018T') import sys dpdir = sys.argv[1] outpath = op.join(dpdir, 'ALL.csv') ks = map(_getkyub, [p for p in [op.join(dpdir, '%s_%s.csv' % (op.basename(sp), z)) for sp in sorted(glob('scans/linkfarm/*')) for z in ('GF', 'CK')] if op.exists(p) and p != outpath]) k = Kyub.merge(*ks) def _mkTC(hu): p = hu.split('=') h = p[0] u = p[1] if len(p) > 1 else None return Column(h, iterable=k.get_treatment_column(hu), units=u) def _mkDC(h): return Column(h, iterable=k.get_column(h)) # def _mkDC(h): # m = k.get_column(h) # s = k.get_column(h + '=stdev') # return MSColumn(h, iterable=zip(m, s)) tc = [_mkTC(f) for f in k.factors]