第 14 题
答案与解析
第(1)小题
B
选项分析
第(2)小题
C
D
选项分析
第(3)小题
/tran
该URL中,10.101.11.165是服务器IP地址,8080是端口号,/tran是请求路径,问号后的id=A&t=32是查询参数。@app.route需要填写请求路径,因此填/tran;车间编号和温度值由处理该路由的程序从查询参数中读取。
第(4)小题
A车间的智能终端故障,或A车间的物联网通信模块故障。
实时温度需经过A车间智能终端处理、上传,再由服务器保存并提供查询。若该智能终端故障,采集上传程序可能无法正常运行;若其物联网通信模块故障,温度数据可能无法经Wi-Fi发送至服务器。这两类故障都可能使服务器缺少A车间的新记录,从而查询不到实时温度。
第(5)小题
B
D
G
H
数据处理过程
df=pd.read_excel("data.xlsx")读取6—9月温度记录,得到DataFrame df。每行代表某车间在某个时刻的一次采集,列依次为“日期”“时间”“车间”“温度”。题中只展示部分记录,不能用图a的局部数据算出全期的超温次数或月平均温度。
①空①位于读取数据后、按车间分组计数前,所得df1将作为后续统计的数据来源。
df1=df1.groupby("车间",as_index=False).count() #分组计数count()统计每组各列的非空值个数,而不是计算温度之和。按题示完整记录,各计数列都对应该车间的记录次数。as_index=False使“车间”仍为普通列,并位于结果的第0列。
完成超温筛选后的分组计数结构如下,N_A等为符号,表示完整数据中相应车间的超温记录数;没有超温记录的车间不会出现在分组结果中。
| index | 车间 | 日期 | 时间 | 温度 |
|---|---|---|---|---|
| 0 | A | N_A | N_A | N_A |
| 1 | B | N_B | N_B | N_B |
| … | … | … | … | … |
②空②重新组织df1的行顺序,后续将直接读取排在第一行的车间。
c=df1.values[0][0] #温度超过30℃次数最多的车间values把表格数据转换为数组,[0][0]读取第0行第0列。前面的分组保留了普通列“车间”,因此这里读取的是第一行的车间编号,而不是原行索引。
df2=df[df["车间"]==c] #筛选按车间编号c从原始df筛选,得到该车间6—9月的全部温度记录,包括不超过30℃的记录。超温次数用于选车间,月平均温度则要使用该车间的全部记录。
for i in df2.index:
③df2保留筛选前的行索引,i依次取得这些索引标签。空③在循环内执行,需要为当前行生成月份信息。
df2=df2.groupby("月").mean() #分组求平均值按“月”分组,对各月的温度记录求平均值。分组后每行对应一个月,“月”成为结果的index,“温度”列保存该月平均温度。
index名称为“月”。M_06等表示对应月份全部记录的平均温度,完整数据未提供,不补造数值。
| index | 温度 |
|---|---|
| 06 | M_06 |
| 07 | M_07 |
| 08 | M_08 |
| 09 | M_09 |
plt.bar(④)plt.bar需要横坐标和对应的柱高。图b横坐标为06、07、08、09,柱高为所选车间的各月平均温度。
plt.title(c+"车间6~9月月温度平均值")标题由所选车间编号c与文字拼接而成。图b标题给出所选车间为E,但图a只是部分数据,不能据此独立核算E的全期超温次数。
填空分析
①
要统计温度超过30℃的次数,先用df["温度"]>30生成布尔条件,再用df[...]筛选整行,保留后续分组所需的“车间”等列,因此选B:
df1=df[df["温度"]>30]
A只得到布尔Series,没有保留可供按“车间”分组的完整记录。
②
分组计数后,“日期”列已表示超温记录次数。要使次数最多的车间位于第一行,应按该列降序排序,选D:
df1=df1.sort_values("日期",ascending=False)
C按车间编号排序,E按“温度”计数升序排序,均不能满足取首行得到最多次数车间的要求。
③
i是当前行的索引标签,用.at[i,"日期"]取得该行日期,再截取下标5、6两个字符。例如字符串2025/06/01的[5:7]为06;将结果写入同一行的“月”列,因此选G:
df2.at[i,"月"]=df2.at[i,"日期"][5:7]
F对整列Series做切片,不是逐个日期字符串截取月份。这里的日期按题目选项所要求的字符串形式处理。
④
分组后,月份位于df2.index,月平均温度位于df2["温度"],因此选H:
df2.index,df2["温度"]
I把分组键“月”当作普通列访问;J的df2.values是二维数组,不是这里需要的温度一维序列。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_tianyuxiezuoti_q014
