in reply to Re: rearrange data to min, avg, max
in thread rearrange data to min, avg, max
#!/usr/bin/perl use strict; use warnings; my %data; while ( <DATA> ) { chomp; my ($stamp, $reading) = split; next if ! $stamp || ! defined $reading; $data{$stamp}{COUNT}++; $data{$stamp}{MAX} = $reading if ! defined $data{$stamp}{MAX} || $ +reading > $data{$stamp}{MAX}; $data{$stamp}{MIN} = $reading if ! defined $data{$stamp}{MIN} || $ +reading < $data{$stamp}{MIN}; $data{$stamp}{SUM} += $reading; } print join "\t" , "TIMESTAMP", "MAX", "MIN", "AVG"; print "\n"; for my $stamp ( sort keys %data ) { print join "\t", $stamp, @{$data{$stamp}}{ qw(MAX MIN) }, $data{$s +tamp}{SUM} / $data{$stamp}{COUNT}; print "\n"; }
|
---|