nanshanjin 发表于 2018-01-09 09:00

求平均值的问题

现在有m行n列的数值文件,如何每三行求一个平均值,格式文件例子如下:21.00020.00036.60037.7000.660   0.890   0.060
20.00021.00037.40038.3000.680   0.900   0.090
20.00021.00038.40038.4000.690   0.930   0.090
19.00021.00039.90045.3000.540   0.740   0.040
19.00022.00041.70045.2000.530   0.740   0.030
19.00023.00039.50045.1000.510   0.730   0.040
即求1、2、3行的平均值,4、5、6行的平均值,以此列类推

jason680 发表于 2018-01-09 13:49


http://bbs.chinaunix.net/thread-4289910-1-1.html

http://bbs.chinaunix.net/thread-4289642-1-1.html

Okelani 发表于 2018-01-09 17:49

#!/usr/bin/perl
use warnings;
use strict;

while (
    my $line1 = <DATA> ) {
    my $line2 = <DATA> || '';
    my $line3 = <DATA> || '';
    my $count = 0;
    my $sum   = 0;
    for my $line ( $line1, $line2, $line3 ) {
      my @value = split /\s+/, $line;
      $count += @value;
      $sum += $_ for @value;
    }
    printf "%.3f\n", $sum / $count;
}

__DATA__
21.00020.00036.60037.7000.660   0.890   0.060
20.00021.00037.40038.3000.680   0.900   0.090
20.00021.00038.40038.4000.690   0.930   0.090
19.00021.00039.90045.3000.540   0.740   0.040
19.00022.00041.70045.2000.530   0.740   0.030
19.00023.00039.50045.1000.510   0.730   0.040
19.00023.00039.50045.1000.510   0.730   0.040

dahe_1984 发表于 2018-01-10 16:58

perl这里感觉还有点人气,python哪里根本没人
页: [1]
查看完整版本: 求平均值的问题