1. 数据读取及分析
使用文本数据 meteorolog.txt 存储的气象数据,根据每日平均气温 TEMP,每日最高气温 MAX 和每日最低气温 MIX,(1)计算 BAODING 站每个月的平均气温,最高和最低气温(2)查询所有观测记录中哪些数据中的最低气温低于 BEIJING 的全年最低气温;(3)查询日平均气温最高的 5 条数据。
参考答案:
解答:
A | |
---|---|
1 | =file(“meteorolog.txt”).import@t() |
2 | =A1.select(STATION:“BAODING”).groups@n(month(DATE):Month;round(avg(TEMP),2): AVGTEMP, max(MAX):MAX, min(MIN):MIN) |
3 | =A1.select(STATION:“BEIJING”).min(MIN) |
4 | =A1.select(MIN<A3) |
5 | =A1.top(5, -TEMP, ~) |
比较基础的使用,A1 从文本文件中读取序表,@t 选项设置文件首行为标题。这里的 f.import()函数,也可以改为用 T(fn) 函数,如 A1 中的代码可以修改为 =T(“meteorolog.txt”),T() 函数将根据扩展名自动识别不同的文件,将其读取为序表。A2 选取出所需站点的数据后,用 groups 函数按照月份分组,同时统计每个分组中的平均温度和最高、最低温度;由于月份值和分组号是对应的,因此可以用 groups@n 直接指定分组号来提升性能。A3 中用 A2 中的结果得到 BEIJING 观测站记录的全年最低温度如下:
A4 进一步查询所有数据中最低温度比其更低的观测记录。
A5 获得日平均气温最高的 5 条记录,由于需要从高到低降序排序,因此 TEMP 前加了负号,top 函数中,添加最后的参数 ~ 后,将返回日平均气温最高的整条记录,而非单纯的气温值。
英文版