用perl处理按第三列相同就合并求平均值
答案:1 悬赏:60 手机版
解决时间 2021-01-24 15:03
- 提问者网友:暮烟疏雨之际
- 2021-01-23 20:31
用perl处理按第三列相同就合并求平均值
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-01-23 21:24
比较简单自己写就可以了啊
while ()
{
chomp;
@d = split;
next if $#d != 2;
if (!exists $data{$d[2]})
{
$data{$d[2]} = [$d[1], 1];
}
else
{
$data{$d[2]}[0] += $d[1];
$data{$d[2]}[1]++;
}
}
for (keys %data)
{
print $data{$_}[0]/$data{$_}[1], " $_
";
}
__DATA__
1 0.66 abc
2 0.68 abc
3 0.70 abc
4 0.63 de
5 0.61 de
6 -0.71 fg
7 -0.73 fg
8 0.54 h
while ()
{
chomp;
@d = split;
next if $#d != 2;
if (!exists $data{$d[2]})
{
$data{$d[2]} = [$d[1], 1];
}
else
{
$data{$d[2]}[0] += $d[1];
$data{$d[2]}[1]++;
}
}
for (keys %data)
{
print $data{$_}[0]/$data{$_}[1], " $_
";
}
__DATA__
1 0.66 abc
2 0.68 abc
3 0.70 abc
4 0.63 de
5 0.61 de
6 -0.71 fg
7 -0.73 fg
8 0.54 h
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯