def load_data(root, box): toret = [] dtype = [('r', float), ('corr', float), ('error', float)] for kind in ['mono', 'quad']: data = np.loadtxt(os.path.join(root, '%s_Box%s_rescale.dat' %(kind, box))) C = np.loadtxt(os.path.join(root, 'covar_%s.dat' %kind)).reshape((data.shape[0], -1)) errs = np.diag(C)**0.5 data = np.concatenate([data, errs[:,None]], axis=1) meta = {'edges' : make_edges(data[:,0])} corr = Corr1dDataSet.from_nbkit(data, meta, columns=['r', 'corr', 'error']) toret.append(corr) return toret
def load_correlation(filename, mode, usecols=[], mapcols={}, **kwargs): """ Load a 1D or 2D correlation measurement and return a `DataSet` """ if mode not in ['1d', '2d']: raise ValueError("`mode` must be on of '1d' or '2d'") if mode == '1d': toret = Corr1dDataSet.from_nbkit(*files.Read1DPlainText(filename), **kwargs) else: toret = Corr2dDataSet.from_nbkit(*files.Read2DPlainText(filename), **kwargs) # rename any variables if len(mapcols): for old_name in mapcols: toret.rename_variable(old_name, mapcols[old_name]) # only return certain variables if len(usecols): toret = toret[usecols] return toret