comparison numerics/mean.py @ 127:c9ae21955ca5

how to make this really small
author Jeff Hammel <k0scist@gmail.com>
date Mon, 16 Mar 2015 20:00:43 -0700
parents d255058333b2
children 3bcd097c27f2
comparison
equal deleted inserted replaced
126:575c8e44227c 127:c9ae21955ca5
6 """ 6 """
7 7
8 # imports 8 # imports
9 import sys 9 import sys
10 from .filters import mean 10 from .filters import mean
11 from .manipulate import FloatParser 11 from .reduce import ReduceParser
12 from .write import CSVWriter 12
13 13
14 __all__ = ['main'] 14 __all__ = ['main']
15 15
16 16
17 def main(args=sys.argv[1:]): 17 def main(args=sys.argv[1:]):
18 """CLI""" 18 """CLI"""
19 ReduceParser(mean)(*args)
19 20
20 # parse command line options
21 parser = FloatParser()
22 options = parser.parse_args(args)
23
24 # read data
25 columns = parser.typed_data()
26 if not columns:
27 parser.error("No data given")
28
29 # calculate means
30 means = [mean(column) for column in columns]
31
32 # write CSV
33 writer = CSVWriter(options.output)
34 writer.write([means])
35 21
36 if __name__ == '__main__': 22 if __name__ == '__main__':
37 main() 23 main()
38 24
39 25