Mercurial > hg > numerics
view numerics/normalize.py @ 193:dc495f0b5ee8 default tip
[testing] toxify
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 13 Aug 2017 15:52:01 -0700 |
parents | c16940bd2cee |
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()