第 13 题
答案与解析
第(1)小题
B
题干明确传感器连接在智能终端上,由智能终端采集噪音数据并上传。增设传感器后,需要修改智能终端上读取、采集和上传传感器数据的相关程序。管理员终端用于浏览数据,报警终端用于接收报警信息。
第(2)小题
A
选项分析
第(3)小题
A
D
按本题的排查思路,无线网络设备和服务器属于各自修室共用的环节。其余报警终端均能正常接收报警信息,说明共用的传输、处理环节能够工作,因此优先检查该自修室独有的采集和报警设备。
选项分析
第(4)小题
判断该自修室的传感器是否故障:暂时用其他正常自修室的同类型传感器替换待测传感器,保持原智能终端、连接方式和采集设置不变。施加足以超过报警阈值的测试噪音,并保持至完成一次采集与上报,查看数据及报警是否恢复正常;若恢复正常,再换回原传感器,在相同条件下复测。若故障重现,可判定原传感器存在故障。
替换前后保持测试条件和其他设备不变,异常随原传感器换入而重现,才能把故障定位到该传感器。使用系统已有的正常传感器,符合不新增设备的要求。
第(5)①小题
E
C
数据处理过程
df=pd.read_excel("data.xlsx")读取本月的噪音监测数据,得到 DataFrame df。结合图 a,每行是某自修室在某一时刻的一次采集记录,包含“名称、日期、小时、分钟、噪音值”五列。
dft=df[df.噪音值>40]只保留噪音值大于 40 的记录,得到报警明细 dft。噪音值等于 40 的记录不满足条件,不计入报警次数。
甲
m=dfr.values[0][0]
print("本月报警次数最多的自修室:",m)甲处理结果存入 dfr。随后 values[0][0] 取该表第一行第一列的值赋给 m,并输出;这要求甲处理后的第一行第一列能提供题目所求的自修室名称。
乙
plt.bar(dfr.日期,dfr.名称)
plt.show()乙再次处理数据后,绘图语句以 dfr 的“日期”列为横坐标,以“名称”列为柱高。因此,乙的结果需要保留这两列,并使“名称”列保存题目要求的每日报警次数。
填空分析
甲
题目按噪音值超过 40 的采集记录统计报警次数,dft 已保留这些记录。应先按“名称”分组,对各自修室的报警记录计数,选择 E:
dfr=dft.groupby("名称",as_index=False).噪音值.count()
count() 统计记录数,不是将噪音值相加。聚合后每行对应一个自修室,“噪音值”列的含义变为报警次数;as_index=False 使“名称”保留为普通列。随后 m=dfr.values[0][0] 取第一行第一列,因此还必须把报警次数最多的自修室排到第一行,选择 C:
dfr=dfr.sort_values("噪音值",ascending=False)
排序不会重置原 index,但 values[0][0] 按行列位置取值,仍能取得排序后首行的自修室名称。
E 执行后的表结构如下,N_A、N_B 为各自修室本月报警次数的示意符号。
| index | 名称 | 噪音值 |
|---|---|---|
| 0 | A | N_A |
| 1 | B | N_B |
| … | … | … |
第(5)②小题
B
F
共用程序分析见第(5)①小题。
填空分析
乙
甲已经使 m 保存本月报警次数最多的自修室名称。要统计该室每天的报警次数,应回到报警明细 dft,先筛选名称为 m 的记录,选择 B:
dfr=dft[dft.名称==m]
若从原始 df 筛选,会把未超过阈值的记录也计入;甲处理后的 dfr 已按自修室汇总,也不再保留逐条记录的日期。接着按“日期”分组,对“名称”列计数,选择 F:
dfr=dfr.groupby("日期",as_index=False).名称.count()
筛选后每行都是该室的一次报警记录,因此统计名称出现的次数,就得到每日报警次数。聚合后的“日期”列作为柱形图横坐标,“名称”列保存次数,作为柱高,与 plt.bar(dfr.日期,dfr.名称) 对应。两条语句的顺序为 B、F。
F 执行后的 DataFrame 结构示意如下。t₁、t₂ 表示该室发生报警的日期,C₁、C₂ 表示相应日期的报警次数,均为示意符号。
| index | 日期 | 名称 |
|---|---|---|
| 0 | t₁ | C₁ |
| 1 | t₂ | C₂ |
| … | … | … |
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_05_G3_Z20_q013
