11. 连续累计计数

 

10. 累积计算查询

使用文本数据 meteorolog.txt 存储的气象数据,请统计每个观测站中,一年中平均气温 TEMP 连续上升以及连续下降的最大天数。

参考答案:

解答:

A
1 =T(“meteorolog.txt”,STATION,DATE,TEMP)
2 =A1.derive(ascDays, desDays)
3 =A2.group(STATION)
4 >A3.(~.(if(TEMP>TEMP[-1]: (ascDays=ascDays[-1]+1,desDays=0), TEMP<TEMP[-1]: (ascDays=0, desDays=desDays[-1]+1); (ascDays=0, desDays=0))))
5 =A3.new(STATION,~.max(ascDays):ascDays,~.max(desDays):desDays)

A1 从文件中获取所需的字段:

A2 在其基础上产生新的字段 ascDays 和 desDays,准备记录每一天为止的连续升温或降温天数。A3 将 A2 中的数据按观测站分组。

A4 在每个组中循环,为 ascDays 和 desDays 赋值,如果当天温度上升,则 ascDays 天数增加 1,同时 desDays 归 0;如果温度下降则相反;如果温度不变则两者均归 0。A4 完成赋值后,可以在 A3 的分组中,选择某个观测站的数据查看效果,如 TAISHAN 站的数据如下:

有了这样的数据,在 A5 中就可以根据每个分组中,ascDays 和 desDays 的最大值,生成结果表了。


12. 组内计算和排名
目录和习题数据