sample_average - bruno-beloff/scs_analysis GitHub Wiki

docs > software repositories > scs_analysis > commands > filtering and aggregating data


DESCRIPTION

The sample_average utility computes a rolling average value for a stream of data delivered on stdin. This can be an average of all values, or a specific number of values.

Input data is typically in the form of a JSON document. A command parameter specifies the path to the node within the document that is to be averaged. The node is typically a leaf node integer or float. The output of the sample_average utility includes the source value, and the average value.

SYNOPSIS

sample_average.py [-t TALLY] [-p PRECISION] [-v] [PATH]

Options
--version show program's version number and exit
-h, --help show this help message and exit
-t TALLY, --tally=TALLY generate a rolling aggregate for TALLY number of data points (default all)
-p PRECISION, --prec=PRECISION precision (default 0 decimal places)
-v, --verbose report narrative to stderr

EXAMPLES

aws_topic_history.py -m1 /orgs/south-coast-science-demo/brighton/loc/1/gases | ./sample_average.py -t3 -p1 val.CO.cnc

DOCUMENT EXAMPLE - INPUT

{"tag": "scs-bgx-401", "rec": "2018-03-27T09:54:41.042+00:00", "val": {"NO2": {"weV": 0.29563, "aeV": 0.280879, "weC": 0.009569, "cnc": 61.0}, "Ox": {"weV": 0.406819, "aeV": 0.387443, "weC": -0.010706, "cnc": 34.7}, "NO": {"weV": 0.319692, "aeV": 0.292129, "weC": 0.028952, "cnc": 165.5}, "CO": {"weV": 0.395819, "aeV": 0.289317, "weC": 0.113108, "cnc": 311.3}, "sht": {"hmd": 82.4, "tmp": 12.6}}}

DOCUMENT EXAMPLE - OUTPUT

{"rec": "2018-03-27T10:01:21.028+00:00", "val": {"CO": {"cnc": {"src": 145.6, "avg": 168.2}}}}

SEE ALSO

scs_analysis/sample_aggregate