##Preamble from __future__ import division,print_function import pandas as pds rc('figure',figsize=(12,4)) rc('legend',loc='best') rc('font',size = 14.0) import os from os.path import expanduser %load_ext autoreload %autoreload 2 import scipy.optimize as opt from scipy import stats import uncertainties as unc from uncertainties import unumpy import ProcessingCTRData as pc print("Complete") df = pds.read_csv('alldata.csv',index_col=[0,1]) df = df[df.length == 30] df = df[df.CTR < 300] df = df[df.specialkey != 'normal'] chifit = [pc.getchi(grp,plot=False) for key, grp in df.groupby(['SampleB','configuration'])] for col in df.columns: if col.endswith('err'): df[col[:-3]] = df.apply(lambda srs : unc.ufloat(srs[col[:-3]],srs[col]),axis=1) df = df.drop(col,1) df['ggevents'] = unumpy.uarray(list(df.numofsamples),list(sqrt(df.numofsamples))) def ProperMean(agrp): if isinstance(agrp.dtype,object): return mean(list(agrp)) else: return mean(agrp) df = df.groupby(['SampleB','configuration']).aggregate(ProperMean) print(df.CTR) df['chifit'] = chifit fdf = list(df.CTR) #df = df.sort('CTR',ascending=False) for col in df.columns: if col in ['length', 'ggevents']: ff = "{0:.0f}" elif col in ['ERleft','ERright']: ff = "{0:.2f}" else: ff = "{0:.1f}" try: df[col] = [ff.format(val).replace("+/-","$\pm$") for val in df[col]] except ValueError: continue print(df.to_latex(float_format=lambda x: '%10.1f' % x, index=True,columns=["ERleft","ERright","ggevents","location","CTR","chisquared","chifit"])) df = pds.read_csv('alldata.csv',index_col=[0,1]) df = df[df.length == 20] df = df[df.CTR < 300] df = df[df.SampleB != '2396'] chifit = [pc.getchi(grp,plot=False) for key, grp in df.groupby(['SampleB','configuration'])] for col in df.columns: if col.endswith('err'): df[col[:-3]] = df.apply(lambda srs : unc.ufloat(srs[col[:-3]],srs[col]),axis=1) df = df.drop(col,1) df['ggevents'] = unumpy.uarray(list(df.numofsamples),list(sqrt(df.numofsamples))) def ProperMean(agrp): if isinstance(agrp.dtype,object): return mean(list(agrp)) else: return mean(agrp) df = df.groupby(['SampleB','configuration']).aggregate(ProperMean) print(df.CTR) df['chifit'] = chifit fdf = list(df.CTR) #df = df.sort('CTR',ascending=False) for col in df.columns: if col in ['length', 'ggevents']: ff = "{0:.0f}" elif col in ['ERleft','ERright']: ff = "{0:.2f}" else: ff = "{0:.1f}" try: df[col] = [ff.format(val).replace("+/-","$\pm$") for val in df[col]] except ValueError: continue print(df.to_latex(float_format=lambda x: '%10.1f' % x, index=True,columns=["ERleft","ERright","ggevents","location","CTR","chisquared","chifit"])) df = pds.read_csv('alldata.csv',index_col=[0,1]) data = "1.640 1.560 1.640 1.560 72.4 72.7 5 1.640 1.560 1.700 1.500 72.4 72.7 20 1.640 1.560 1.900 1.300 72.4 72.7 20 1.640 1.560 2.100 1.100 72.4 72.7 20" data = array([row.split('\t') for row in data.split(' ')],dtype=float) Voltages = (data[:,2]-data[:,3])*1e3 df = df[df.specialkey == 'threshold'] df['threshold'] = df.uniquename.apply(lambda astr : Voltages[int(astr.split('_')[-1])]) df = df[df.length == 30] #df = df[df.CTR < 300] for col in df.columns: if col.endswith('err'): df[col[:-3]] = df.apply(lambda srs : unc.ufloat(srs[col[:-3]],srs[col]),axis=1) df = df.drop(col,1) df['ggevents'] = unumpy.uarray(list(df.numofsamples),list(sqrt(df.numofsamples))) def ProperMean(agrp): if isinstance(agrp.dtype,object): return mean(list(agrp)) else: return mean(agrp) ptpchange = ptp(df.groupby(['SampleB','threshold']).CTR) df = df.groupby(['SampleB','threshold']).aggregate(ProperMean) df['ptpchange'] = ptpchange for col in df.columns: if col in ['length', 'ggevents']: ff = "{0:.0f}" elif col in ['ERleft','ERright']: ff = "{0:.2f}" else: ff = "{0:.1f}" try: df[col] = [ff.format(val).replace("+/-","$\pm$") for val in df[col]] except ValueError: continue print(df.to_latex(float_format=lambda x: '%10.1f' % x, index=True,columns=['ptpchange',"ERleft","ERright","ggevents","location","CTR","chisquared"]))