24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1275  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

junruiwang

新虫 (小有名气)

[求助] 求各位大神,perl 对特定范围内的数据求平均值 已有1人参与

文件为:
Chr        Pos        Y
1        49820        -1.68855
1        54414        -1.55555
1        99585        -1.05338
1        103929        -0.523771
1        124119        -0.261121
1        200009        -0.1234
1        390189        2.2456
2        48625        0.0250024
2        88663        -0.659643
2        90128        -0.302134
2        122780        -0.366919
2        555583        -1.00859
想根据第一列和第二列的范围来求第三列的平均值,具体为:第二列的按照每100,000的长度来分组,把第三列求一个平均值,如果有些范围没有数值则写为0(如下)。想得到的结果是:
1  100,000    -1.432493333
1  200,000    -0.392446
1  300,000    -0.1234
1  400,000    2.2456
2  100,000    -0.3259234
2  200,000    0
2  300,000    0
2  400,000    0
2  500,000    0
2  600,000    -1.00859
其中100,000、200,000...代表0-100,000、100,000-200,000范围的意思。
求各位大神帮忙啦!
回复此楼

» 收录本帖的淘帖专辑推荐

程序

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

[perl code]
# Program in Perl
use Data:umper;
use POSIX;
my @sumY, @numY;
open my $fh, '<', "output.txt" or
     die "could not open file: $!";
$line = <$fh>;
while (my $line = <$fh> {
    my($Chr, $Pos, $Y) =  split /\s+/, $line;
    $cPos = floor($Pos / 100000) ;
    $sumY[$Chr][$cPos]+=$Y;
    $numY[$Chr][$cPos]++;
}
for (my $j= 1; $j <= 2; $j++)
{
    for (my $i= 0; $i <= 5; $i++)
    {
        $range = ($i+1)*100000;
        if ( !defined $numY[$j][$i] )
           { $avg = 0; }
        else
           { $avg = $sumY[$j][$i] / $numY[$j][$i]; }
        print "$j $range $avg\n";
    }
}
close $fh;

[output]
1 100000 -1.43249333333333
1 200000 -0.392446
1 300000 -0.1234
1 400000 2.2456
1 500000 0
1 600000 0
2 100000 -0.3122582
2 200000 -0.366919
2 300000 0
2 400000 0
2 500000 0
2 600000 -1.00859
8楼2016-08-18 06:01:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
#!/usr/bin/perl
use warnings;
use strict;

my $sum = 0;
my $n = 0;
while (<> {
    $sum += $_;
    $n++;
}
print $sum/$n, "\n";

https://stackoverflow.com/questi ... averages-using-perl
3楼2016-08-17 18:09:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

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

my $sum = 0;
my $n = 0;
while (<>) {
    $sum += $_;
    $n++;
}
print $sum/$n, "\n";

https://stackoverflow.com/questions/6906116/compute-averages-using-perl
4楼2016-08-17 18:10:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

James_ever

金虫 (文坛精英)

必须用这软件??
Take few risks early, the bonus following!科研MSN群:FutureChina@groups.live.com
5楼2016-08-17 19:07:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 086000生物与医药298调剂求助 +3 元元青青 2026-03-31 5/250 2026-03-31 19:58 by vgtyfty
[考研] 267求调剂 +6 uiybh 2026-03-31 6/300 2026-03-31 19:54 by Dyhoer
[考研] 一志愿南师大0703化学 275求调剂 +5 Ripcord上岸 2026-03-27 5/250 2026-03-31 19:52 by mg1014
[考研] 复试调剂 +7 双马尾痞老板2 2026-03-31 7/350 2026-03-31 19:49 by Dyhoer
[考研] 材料科学与工程339求调剂 +3 hyz0119 2026-03-31 3/150 2026-03-31 18:31 by 1939136013狗壮
[考研] 299求调剂 +8 嗯嗯嗯嗯2 2026-03-27 8/400 2026-03-31 18:23 by lizhi8172
[考研] 本2一志愿C9-333分,材料科学与工程,求调剂 +9 升升不降 2026-03-31 9/450 2026-03-31 18:01 by 无际的草原
[考研] 307分求调剂 +6 (o~o) 2026-03-31 6/300 2026-03-31 17:22 by 唐沐儿
[考研] 材料求调剂 一志愿哈工大总分298分,前三科223分 +11 dongfang59 2026-03-27 11/550 2026-03-31 16:51 by Wang200018
[考研] 286求调剂 +6 Faune 2026-03-30 6/300 2026-03-31 14:37 by jp9609
[考研] 求调剂 +4 研s. 2026-03-25 4/200 2026-03-31 10:05 by fmesaito
[考研] 一志愿食品科学与工程083200求调剂 +4 XQTJZ 2026-03-30 4/200 2026-03-31 04:10 by fmesaito
[考研] 083000环境科学与工程调剂,总分281 +4 橙子(胜意) 2026-03-30 4/200 2026-03-31 00:44 by Linzejun
[考研] 求调剂,一志愿 南京航空航天大学 ,080500材料科学与工程学硕,总分289分 +9 @taotao 2026-03-29 9/450 2026-03-30 22:29 by 我是小康
[考研] 调剂 +4 GK72 2026-03-30 4/200 2026-03-30 20:32 by dick_runner
[考研] 332求调剂 +14 032500 2026-03-25 14/700 2026-03-30 20:03 by 无际的草原
[考研] 26考研-291分-厦门大学(085601)-柔性电子学院材料工程专业求调剂 +5 min3 2026-03-24 6/300 2026-03-30 18:42 by 544594351
[考研] 环境科学与工程334分求调剂 +6 王一一依依 2026-03-30 8/400 2026-03-30 11:52 by yjolah
[考研] 一志愿北京理工大学本科211材料工程294求调剂 +8 mikasa的围巾 2026-03-28 8/400 2026-03-29 12:48 by 无际的草原
[考研] 机械学硕310分,数一英一,一志愿211本科双非找调剂信息 +3 @357 2026-03-25 3/150 2026-03-26 16:34 by by.MENG
信息提示
请填处理意见