Beispiel #1
0
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))
Beispiel #2
0
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))
Beispiel #3
0
 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
Beispiel #4
0
 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
Beispiel #5
0
 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
Beispiel #6
0
 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