Mercurial > hg > numerics
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 |