第 14 题
答案与解析
第(1)小题
A
控制指令的传递路径为“服务器→智能终端→门禁、警报器”。服务器将指令下发给智能终端,再由智能终端直接控制执行器。
第(2)小题
B
D
选项分析
第(3)小题
A
D
选项分析
第(4)小题
警报器自身故障。
警报器与智能终端连接故障。
服务器检测出异常后,还需要经智能终端控制警报器。警报器自身损坏时,即使收到控制指令也可能无法发声;警报器与智能终端连接故障时,控制信号可能无法正常传到警报器。
第(5)小题
D
B
G
数据处理过程
df = pd.read_csv("sp.csv")读取CSV文件得到DataFrame df,每行是一条商品购买监测记录。“数量”表示该条记录涉及的商品件数,“订单状态”区分正常和异常记录。题目已省略根据时间戳生成“月份”列的代码。
df1 = df[df["订单状态"] == "正常"]筛选订单状态为“正常”的记录,得到df1,后续销售统计以这些正常订单为依据。
df2 = ①空①的结果保存到df2。后续需要按“数量”比较商品销量,并读取“商品编号”,因此这两列都需要保留。
df3 = df2.sort_values("数量", ascending=False)按“数量”降序排列,得到df3,数量最大的记录排在第一行。排序保留原行索引,第一行的索引不一定为0。
cla = df3.at[df3.index[0], "商品编号"]df3.index[0]取得排序后第一行的索引标签,再由.at读取这一行的“商品编号”,保存到cla。
df3 = ②这里重新给df3赋值。下游还要按月份统计,所取数据需要保留相应的月份与数量信息。
df3 = df3.groupby("月份")["数量"].sum()按“月份”分组,对各组的“数量”求和。选取单列后聚合,结果df3是Series:索引为月份,值为该月数量合计。以下仅示意结果结构,M1、M2表示结果中实际存在的月份,S1、S2表示相应合计值,不是题目给定数据。
Series;index名称:月份;Series名称:数量。
| index | values |
|---|---|
| M1 | S1 |
| M2 | S2 |
| … | … |
填空分析
①
题目要求比较各商品的正常销售量,应从df1按“商品编号”分组,对“数量”求和,选择D:
df1.groupby("商品编号", as_index=False).sum()
一条记录中的数量可能大于1,例如表中第一条记录的数量为4,应累计4件;count()统计的是非空记录数,不能代替销量求和。as_index=False使“商品编号”保留为普通列,供后面的.at读取。
聚合后每行对应一种商品。下面仅列后续使用的两列,S1、S2为各商品正常销量的符号表示,原表未展示全年完整数据,不能据此算出具体销量。
DataFrame df2(仅示意相关列):
| index | 商品编号 | 数量 |
|---|---|---|
| 0 | 商品甲 | S1 |
| 1 | 商品乙 | S2 |
| … | … | … |
②
cla已保存销量最高商品的编号。统计该商品各月的正常销量,需要回到保留月份信息的正常订单明细df1,筛选商品编号等于cla的记录,选择B:
df1[df1["商品编号"] == cla]
从df筛选会混入异常订单;df2已按商品合并全年数据,无法再按原订单所属月份分别统计。
③
按月份求和后的df3是Series,月份保存在index中,月销量保存在values中。柱形图以月份为横轴、月销量为柱高,选择G:
plt.bar(df3.index, df3.values)
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_05_G3_zhujimoni_q014
