Chinaunix

标题: 求平均值的问题 [打印本页]

作者: nanshanjin    时间: 2018-01-09 09:00
标题: 求平均值的问题
现在有m行n列的数值文件,如何每三行求一个平均值,格式文件例子如下:21.000  20.000  36.600  37.700  0.660   0.890   0.060
20.000  21.000  37.400  38.300  0.680   0.900   0.090
20.000  21.000  38.400  38.400  0.690   0.930   0.090
19.000  21.000  39.900  45.300  0.540   0.740   0.040
19.000  22.000  41.700  45.200  0.530   0.740   0.030
19.000  23.000  39.500  45.100  0.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
  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;

  4. while (
  5.     my $line1 = <DATA> ) {
  6.     my $line2 = <DATA> || '';
  7.     my $line3 = <DATA> || '';
  8.     my $count = 0;
  9.     my $sum   = 0;
  10.     for my $line ( $line1, $line2, $line3 ) {
  11.         my @value = split /\s+/, $line;
  12.         $count += @value;
  13.         $sum += $_ for @value;
  14.     }
  15.     printf "%.3f\n", $sum / $count;
  16. }

  17. __DATA__
  18. 21.000  20.000  36.600  37.700  0.660   0.890   0.060
  19. 20.000  21.000  37.400  38.300  0.680   0.900   0.090
  20. 20.000  21.000  38.400  38.400  0.690   0.930   0.090
  21. 19.000  21.000  39.900  45.300  0.540   0.740   0.040
  22. 19.000  22.000  41.700  45.200  0.530   0.740   0.030
  23. 19.000  23.000  39.500  45.100  0.510   0.730   0.040
  24. 19.000  23.000  39.500  45.100  0.510   0.730   0.040
复制代码

作者: dahe_1984    时间: 2018-01-10 16:58
perl这里感觉还有点人气,python哪里根本没人




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2