def demo(filenames): # read each file in turn for filename in filenames: tbl = EvalTable(rules) tbl.fromfile(filename) records = tbl['_count_'].sum() calc_sum = ('standard','not_standard','declines','not_declines','std_declines','nonstd_declines') cnt = {} for name in calc_sum: cnt[name] = tbl[name].sum() #sanity check assert cnt['declines'] + cnt['not_declines'] == records, \ "%s + %s != %s" % (cnt['declines'],cnt['not_declines'],records) assert cnt['standard'] + cnt['not_standard'] == records, \ "%s + %s != %s" % (cnt['standard'],cnt['not_standard'],records) out = [] rpt_names = ('standard','declines','std_declines','nonstd_declines') for name in rpt_names: out.append('%s=%6.3f%%' % (name,100.0*cnt[name]/float(records))) #rej_names = ('std_declines','nonstd_declines') #for name in rej_names: # out.append('ratio_%s=%6.3f%%' % (name,100.0*cnt[name]/float(cnt['declines']))) print '%14s (%8d records): %s' % (filename,records,' '.join(out))
def demo(filenames): # read each file in turn for filename in filenames: tbl = EvalTable(rules) tbl.fromfile(filename) records = tbl['_count_'].sum() calc_sum = ('standard', 'not_standard', 'declines', 'not_declines', 'std_declines', 'nonstd_declines') cnt = {} for name in calc_sum: cnt[name] = tbl[name].sum() #sanity check assert cnt['declines'] + cnt['not_declines'] == records, \ "%s + %s != %s" % (cnt['declines'],cnt['not_declines'],records) assert cnt['standard'] + cnt['not_standard'] == records, \ "%s + %s != %s" % (cnt['standard'],cnt['not_standard'],records) out = [] rpt_names = ('standard', 'declines', 'std_declines', 'nonstd_declines') for name in rpt_names: out.append('%s=%6.3f%%' % (name, 100.0 * cnt[name] / float(records))) #rej_names = ('std_declines','nonstd_declines') #for name in rej_names: # out.append('ratio_%s=%6.3f%%' % (name,100.0*cnt[name]/float(cnt['declines']))) print '%14s (%8d records): %s' % (filename, records, ' '.join(out))
def handle_select(self, opt, tbl): fldexpr = FieldExprList(*opt.select) rules = fldexpr.rules() tbl = EvalTable(rules).update(tbl) out = UniTable() for key, name in zip(fldexpr.keys(), fldexpr.names()): out[name] = tbl[key] return out
def loadfile(self,filename,cnttbl): rules = Rules(*self.rules) tbl = EvalTable(rules).fromfile(filename) counts = [tbl.field(rc).sum() for rc in self.rc_labels()] cnttbl += counts
def _load(self, arg, cnttbl): rules = Rules(*self.rules) tbl = EvalTable(rules).load(arg) counts = [tbl.field(rc).sum() for rc in self.rc_labels()] cnttbl += counts
def _load(self,arg,cnttbl): rules = Rules(*self.rules) tbl = EvalTable(rules).load(arg) counts = [tbl.field(rc).sum() for rc in self.rc_labels()] cnttbl += counts