Mercurial > hg > numerics
view numerics/reduce.py @ 126:575c8e44227c
this should work and shit
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Mon, 16 Mar 2015 19:55:41 -0700 |
parents | d255058333b2 |
children | c9ae21955ca5 |
line wrap: on
line source
#!/usr/bin/env python # -*- coding: utf-8 -*- """ reduce a vector to a scalar """ # imports import sys from .filters import mean from .manipulate import FloatParser from .write import CSVWriter # module globals __all__ = ['ReduceParser'] class ReduceParser(FloatParser): """CLI option parser""" # reducing function function = lambda x: raise NotImplemented("Abstract base class") def __init__(self, **kwargs): kwargs.setdefault('description', __doc__) argparse.ArgumentParser.__init__(self, **kwargs) self.options = None def __call__(self, *args): # parse command line options self.parse_args(args or sys.argv[1:]) # read data columns = self.typed_data() if not columns: self.error("No data given") # calculate scalars data = [self.function(column) for column in column] # write CSV writer = CSVWriter(options.output) writer.write([data])