Mercurial > hg > numerics
view numerics/normalize.py @ 164:c16940bd2cee
this works
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Fri, 15 May 2015 16:59:09 -0700 |
parents | 8508dbeb9759 |
children |
line wrap: on
line source
#!/usr/bin/env python # -*- coding: utf-8 -*- """ normalize columns """ # imports import sys from .convert import numeric from .data import transpose from .manipulate import ManipulationParser # module globals __all__ = ['normalize', 'NormalizationParser'] def normalize(*data): """normalize data""" norm = float(sum(data)) return [i/norm for i in data] class NormalizationParser(ManipulationParser): """CLI option parser""" def main(args=sys.argv[1:]): """CLI""" # parse command line options parser = NormalizationParser() options = parser.parse_args(args) # get columns columns = parser.typed_data() for index in range(len(columns)): column = columns[index] if column and isinstance(column[0], numeric): columns[index] = normalize(*column) # output parser.write(transpose(columns)) if __name__ == '__main__': main()