view numerics/mean.py @ 120:4e0c6887604e

cleanup and note dependencies
author Jeff Hammel <k0scist@gmail.com>
date Sun, 15 Mar 2015 20:58:15 -0700
parents b7d4b7f84883
children 067705f465e8
line wrap: on
line source

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
compute mean of data
"""

# imports
import argparse
import csv
import os
import sys
from .data import transpose
from .filters import mean
from .read import CSVParser
from .write import CSVWriter


def main(args=sys.argv[1:]):
    """CLI"""

    # parse command line options
    parser = CSVParser()
    options = parser.parse_args(args)

    # read data
    data = parser.read()
    if not data:
        parser.error("No data given")

    # transpose to columns
    columns = transpose(data)

    # cast to float
    columns = [[float(value) for value in column]
               for column in columns]

    # means
    means = [mean(column) for column in columns]

    # write CSV
    writer = CSVWriter(options.output)
    writer.write([means])

if __name__ == '__main__':
    main()