【发布时间】:2021-07-30 04:45:37
【问题描述】:
我有数百万行不同日期的城市测量数据。有多个测量值,因此我需要为每个城市和日期组合获取最小值和最大值。 这是示例数据:
London Wednesday 19
Melbourne Tuesday 128
London Wednesday 9
London Tuesday 9
Melbourne Tuesday 99
London Wednesday 18
London Tuesday 2
Melbourne Wednesday 89
Melbourne Wednesday 9
Melbourne Tuesday 23
London Tuesday 13
Melbourne Wednesday 11
我试过了
{
arr[$1][$2][$3]++
}
END{
for (city in arr){
printf"%s\t",city
for (day in arr[city]){
n=asorti(arr[city][day],sorted)
printf"%s\t%s\t%s\t",day,sorted[1],sorted[n];
}
printf"\n"
}
}
但我得到的是字母顺序而不是数字顺序:
Melbourne Tuesday 128 99 Wednesday 11 9
London Tuesday 13 9 Wednesday 18 9
我需要的是:
Melbourne Tuesday 23 128 Wednesday 9 89
London Tuesday 2 13 Wednesday 9 19
我尝试使用BEGIN{ PROCINFO["sorted_in"] = "@ind_num_asc"},但没有帮助。
【问题讨论】: