第 13 题
答案与解析
第(1)小题
A
智能终端可通过不同的传感器接口分别连接温度传感器和风速传感器,在接口、电气连接和程序支持相匹配的条件下,同时采集两类数据。一个智能终端并不限于连接一种传感器。
第(2)小题
B
C
选项分析
第(3)小题
A
D
选项分析
第(4)小题
将温度传感器与高精度标准温度计置于同一位置附近、相同环境中,待读数稳定后同时读取并比较;若两者读数差异在允许误差范围内,则认为温度传感器采集的数据准确。
标准温度计提供对照值。保持测量环境及读数时刻一致,可减少空间温差、温度变化对比较结果的影响;再用允许误差范围判断偏差是否可接受。
第(5)①小题
B
E
D
数据处理过程
df=pd.read_excel("data.xlsx") #读取文件读取data.xlsx得到DataFrame df。文件中仅包含当年5月份的数据,每行代表一次风速采集,列为“月”“日”“小时”“分钟”“风速”。
df1=df[df["日"]==2] #筛选从df中保留“日”等于2的行,得到5月2日的全部风速记录df1。由于文件已限定为5月份,无须再次筛选月份。
ave=df1["风速"].mean() #求均值对df1的“风速”列求均值,ave是5月2日的平均风速,属于一个数值。此时尚未按风速大小筛选,因而均值的计算范围是当天全部记录。
#重命名df2中"风速"列名称为"次数",代码略该注释说明,空②所得df2需要保留“风速”列,之后将其列名改为“次数”,供后续排序和绘图使用。
df3=df2.head(5) #获取前5条数据head(5)按当前行顺序取前5条记录,不会自动选取次数最大的记录。因此空③完成后,df2的前5行必须已经对应次数最多的5个小时。
填空分析
①
统计范围是5月2日,且只计风速严格大于当天平均值的记录。因此应在已经限定日期的df1中使用条件df1["风速"]>ave进行筛选,填入df1[df1["风速"]>ave],选B。若从原始df筛选,会将5月其他日期中风速超过ave的记录也纳入统计。
②
空①筛选后,每行就是一次符合条件的采集。题目要求统计“每小时”的次数,应按“小时”分组并计数,填入df1.groupby("小时",as_index=False).count(),选E。count()统计各列的非空值数量;筛选保留下来的风速值都满足大于ave,故“风速”列的计数正是各小时符合条件的次数。as_index=False使“小时”仍作为普通列保留,分组后的每行对应一个小时,便于后续绘图。按“风速”分组则得到各风速值的出现次数,与统计目标不同。
空②执行后的df2结构示意如下(尚未重命名);h₀、h₁表示筛选后有记录的小时,N₀、N₁表示相应的记录数,不是原题实测数值。按题设每条记录均含日期、时间和风速,各计数列表示该小时的记录数。
| index | 小时 | 月 | 日 | 分钟 | 风速 |
|---|---|---|---|---|---|
| 0 | h₀ | N₀ | N₀ | N₀ | N₀ |
| 1 | h₁ | N₁ | N₁ | N₁ | N₁ |
| … | … | … | … | … | … |
此时“风速”列保存的是次数,不再是风速值;下一步将该列重命名为“次数”。
③
此时df2已按小时汇总,且计数列已重命名为“次数”。为使head(5)取出次数最多的5个小时,应按“次数”降序排列,填入df2.sort_values("次数",ascending=False),选D。图b中小时8、10、11、9、12对应的柱高依次降低,也与按次数降序排列一致;按小时大小排序不能得到这一顺序。
