如果您对bash–awk计算平均值或零和awk求平均数感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解bash–awk计算平均值或零的各种细节,并对awk求平均数进行深入的分析,此外还有关于as
如果您对bash – awk计算平均值或零和awk求平均数感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解bash – awk计算平均值或零的各种细节,并对awk求平均数进行深入的分析,此外还有关于asp.net – Datagrid:计算页脚中列的平均值或总和、awk – 获得每行平均值、AWK 脚本帮助格式化列的平均值、awk 计算数据的和和平均值的实用技巧。
本文目录一览:- bash – awk计算平均值或零(awk求平均数)
- asp.net – Datagrid:计算页脚中列的平均值或总和
- awk – 获得每行平均值
- AWK 脚本帮助格式化列的平均值
- awk 计算数据的和和平均值
bash – awk计算平均值或零(awk求平均数)
grep '^num' file.$i | awk '{ sum += $2 } END { print sum / NR }'
但有时文件不包含模式,其中cas我希望脚本返回零.这个略有修改的单线的任何想法?
awk '/^num/ {n++;sum+=$2} END {print n?sum/n:0}' file
asp.net – Datagrid:计算页脚中列的平均值或总和
我的方式,有两种我能想到的方法:
1.“使用来源,卢克”
在我调用DataGrid.DataBind()的代码中,使用DataTable.Compute()方法(或者在我的情况下使用DataSet.DataTable(0).Compute()).例如:
Dim strAverage = DataTable.Compute("Avg(ColumnName)","")
但是一旦我有这个,我怎么能把它插入页脚?
2.“为荣耀而战”
使用DataGrid.ItemDataBound事件,并计算每个ListItemType.Item和ListItemType.AlternatingItem的运行总计,最后显示在ListItemType.Footer中.例如:
Select Case e.Item.ItemType Case ListItemType.Item,ListItemType.AlternatingItem runningTotal += CInt(e.Item.Cells(2).Text) Case ListItemType.Footer e.Item.Cells(2).Text = runningTotal/DataGrid.Items.Count End Select
这只是感觉不对,而且我必须确保在每个DataBind上重置runningTotal.
有没有更好的办法?
解决方法
>一旦敲击页脚并从屏幕上的文本计算,就手动穿过表格
>手动检索数据并与绑定分开进行计算
当然,#2有点抵消了数据绑定的优势(假设你正在做的事情).
awk – 获得每行平均值
HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87 HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87
我想计算每一行的平均值,从第5列开始直到行结束,并忽略字符串NA.然后将平均值附加到每行的末尾.
输出看起来像这样:
HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87 0.775 HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87 0.620
我一直得到这样的总和,但无法弄清楚如何跟踪求和的整数数,以便计算平均值.
awk '{x=0;for(i=5;i<=NF;i++)x=x+$i;print $0,x}'
解决方法
$cat file HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87 HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87 HF TLLM A T NA NA NA NA NA NA NA $awk '{sum=cnt=0; for (i=5;i<=NF;i++) if ($i != "NA") { sum+=$i; cnt++ } print $0,(cnt ? sum/cnt : "NA") }' file HF TLLL A T 0.999 NA 0.666 NA 0.566 NA NA 0.87 0.77525 HF TLLM A T 0.500 0.500 0.666 0.566 NA NA 0.87 0.6204 HF TLLM A T NA NA NA NA NA NA NA NA
三元表达式避免了输入行3上的除零误差,其中每个数据字段都是“NA”.
AWK 脚本帮助格式化列的平均值
你需要这个脚本。您可以将其另存为:program.awk
。我添加了 END
块以在最终打印平均值。
#!/usr/bin/awk -f
{
if(NR == 1){
printf "%s \t %28s %7s %7s %7s %7s\n","Name","Exam 1","Exam 2","Exam 3","Exam 4","Average"
}
else{
examSTUAVG = ($3 + $4 + $5) / 4;
printf "%s \t %28s %7s %7s %7s %7.1f\n",$1,$2,$3,$4,$5,examSTUAVG
{exam1Total += $2}
{exam2Total += $3}
{exam3Total += $4}
{exam4Total += $5}
}
}
END{
myrows=NR-1
printf "Exam 1 Average is %19.1f\n",exam1Total / myrows
printf "Exam 2 Average is %19.1f\n",exam2Total / myrows
printf "Exam 3 Average is %19.1f\n",exam3Total / myrows
printf "Exam 4 Average is %19.1f\n",exam4Total / myrows
}
输入是文件 data.txt
。
Name Exam 1 Exam 2 Exam 3 Exam 4 Average
Joe 0.0 75 87 91
John 0.0 86 72 83
并执行它:
./program.awk data.txt
我得到了这个输出:
Name Exam 1 Exam 2 Exam 3 Exam 4 Average
Joe 0.0 75 87 91 63.2
John 0.0 86 72 83 60.2
Exam 1 Average is 0.0
Exam 2 Average is 80.5
Exam 3 Average is 79.5
Exam 4 Average is 87.0
awk 计算数据的和和平均值
awk 计算数据的和和平均值
本文译至:http://d.hatena.ne.jp/leetmikeal/20130117/1358423717
有如下的log文件:
最右边的数值表示数据。计算一下数据的和。
最开始的{} ,定义sum变量,累加数据。
最后,在END内 print sum 输出和.然后,计算一下平均值。
今天关于bash – awk计算平均值或零和awk求平均数的讲解已经结束,谢谢您的阅读,如果想了解更多关于asp.net – Datagrid:计算页脚中列的平均值或总和、awk – 获得每行平均值、AWK 脚本帮助格式化列的平均值、awk 计算数据的和和平均值的相关知识,请在本站搜索。
本文标签: