组卷网 > 高中信息技术综合库 > 数据与计算 > 算法与程序实现 > 算法 > 典型算法
题型:操作题 难度:0.65 引用次数:84 题号:15973405
小明收集了我省 2022 年4月30日每个时间段,我省的各个监测站的 PM2.5 浓度的数据,存储在“数据.xlsx”中,如图 13-1 所示。

图 13-1

1)为了绘制某监测站 24 小时 PM2.5 的浓度变化趋势,小明需要对图 13-1 所示的表中数据进行整理, 下列选项中说法不正确的是(      )
A.通过检测发现E2单元格中的数据不正确,应进行修正
B.应删除第10行数据
C.第3行和第4行数据重复,应该删除其中一行数据
D.删除“0 时”和“24 小时平均浓度”两列数据,图 13-3 绘制结果保持不变
(2)区域 AA2:AA39 的数据是通过公式计算出相应的平均值的,在 AA2 单元格中输入公式____,再使用自动填充功能完成区域 AA3:AA39 的计算 。
3)接着,小明对图 13-1 中的数据进行整理后,转为 csv 文件,如图 13-2 所示。小明根据要求编写程序,绘制的'临平镇'站点24小时变化趋势图如图 13-3 所示,程序运行结果如图 13-4 所示。实现的Python 程序如下,请在划线处,填入适当的语句或语句表达式。

图 13-2            

图 13-3

图 13-4

import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv("各站点 PM2.5 数据.csv")
s1=df["日平均浓度"]        #将 DataFrame 中"日平均浓度"列的数据读到s1 中 #求浓度最低的站点
minx=s1[0]
n=len(s1)
t=0

for i in range(1,n):

       if s1[i]<minx:

             minx=s1[i]

             t = i

print('浓度最低的站点是(填写监测站点名称):',____,'浓度为:',minx)
g=df.groupby('地区',as_index=False)
s=g.日平均浓度.mean()
s_sort=s.sort_values("日平均浓度",ascending=False)#各地区按照日平均浓度进行降序排序
print("求 PM2.5 平均浓度最高的三个区:\n",_____))#绘制的'临平镇'监测站点 24 小时变化趋势图
b=list(df.values[5][2:-1])                           #将'临平镇'每个时间段的数据存入列表 b 中
x=[];y=[]
for i in range(len(b)):

x.append(i)

y.append(b[i])

plt.plot(           )        

plt.title("临平镇 24 小时 PM2.5 变化趋势图")
plt.rcParams['font.sans-serif']=['SimHei'] #使中文字在视图中正常输出
plt.rcParams['axes.unicode_minus']=False
plt.show()
【知识点】 典型算法

相似题推荐

操作题 | 适中 (0.65)
【推荐1】甲乙丙3位同学合作完成一个流浪地球模型,该模型需要使用多个零部件,每个零部件所需要加工的时间不一,三位同学同时开始加工,当某位同学完成一个零件的加工时,就会对下一个零件进行加工(每个零件同时间内只能由一位同学加工),如此往复,直到所有的零件完成加工。
(1)按题干所述,若有9个零件需要加工,他们的所需的加工顺序及加工时间为[8,6,6,9,10,5,4,7,8],则完成所有零件加工的时长为____分钟。
(2)一个零件的加工包含划线、锯割和锉削3个步骤(一个零部件必须依次进行划线、锯割和锉削;每个步骤一旦开始就不会中断直至完成,步骤之间可以有中断),零部件[1,2,5]代表需要划线1分钟,锯割2分钟,锉削5分钟,总耗时8分钟——即小题(1)的第一个零部件。现提供所有零部件的具体划线、锯割和锉削所需的时间:[[1,2,5],[2,1,3],[1,2,3],[1,5,3],[1,2,7],[1,1,3],[1,1,2],[2,1,4],[1,2,5]],甲乙丙觉得如果将锉削时间短的零部件安排在靠后加工,对于减少加工时间有所帮助。对上述数据进行排序,以下符合排序要求的代码为____

A.        B.

C.             D.

(3)根据小题(2)的描述,计算加工总时间,请在划线处填上合适的代码。
sj=[[1,2,5],[2,1,3],[1,2,3],[1,5,3],[1,2,7],[1,1,3],[1,1,2],[2,1,4],[1,2,5]]
sj=sort(sj)
n=len(sj)
flag=[0]*n
totaltime=0
m=3     #甲乙丙3位同学
heads,tails=[0]*m,[0]*m
que=[[0 for i in range(n*3)] for j in range(m)] #生成二维数组
i=0
for j in range(m):   
       que[j][tails[j]]=sj[i][0]
       tails[j]+=1
       flag[j]+=1
       ____
while sum(flag)<3*n:       #sum函数可以求出flag列表中所有数字之和
       tmin=que[0][heads[0]]
       for j in range(1,m):
             if que[j][heads[j]]<tmin:
                    tmin=que[j][heads[j]]       
       for j in range(m):
             que[j][heads[j]]-=tmin
             if que[j][heads[j]]==0 and ②____:
                    ____
                    tails[j]+=1
                    heads[j]+=1
                    flag[i]+=1
                    i=(i+1)%n
       totaltime+=tmin
tmax=max([que[i][heads[i]] for i in range(m)])
totaltime+=tmax
print('加工时长为:',totaltime)
2024-01-19更新 | 12次组卷
操作题 | 适中 (0.65)
【推荐2】综合分析题:                                                  改成:
第一行 x=input("请输入一个自然数")       ______________________________
第二行 if x%2 = 0                                   ______________________________
第三行             print(x,"为偶数" )       ______________________________
第四行 else:                                          ______________________________
第五行             print("x,为奇数")        ______________________________
五行程序代码中有___________处错误,在对应的横线上修改
2020-12-26更新 | 191次组卷
操作题 | 适中 (0.65)
【推荐3】为了协助老师进行高效的试卷讲评,课代表小刘收集了单选题的相关数据,保存为“wrong.xlsx”文件,部分数据界面如图a所示,单选题共有13小题,每小题2分,共26分,用“1”表示该题是错选的。

(1)小刘编写了如下python程序,计算每个同学的得分,输出满分同学,并将得分低于13分的同学学号加“*”标识,请在划线处填入合适的代码。
import pandas as pd
import matplotlib.pyplot as plt
plt.rc("font", **{"family": "SimHei"})     #设置中文字体
df1=pd.read_excel ("wrong.xlsx")
df1["得分"]=26-df1.sum(axis=1)*2
for i in df1.index:
       if________
             df1.at[i,"学号"]="*"+df1.at[i,"学号"]
print(        )   #输出满分的同学
(2)小刘进一步统计了每个单选题的错误人数,并用图表分析错误人数最多的前6个单选题,请在划线处填入合适的代码。
wnum={}
for i in df1.columns[1:14]:
________
       wnum[i]=num
print(wnum)          #输出结果如图b所示

#根据错误人数进行排序
df2=pd.DataFrame({"题号":wnum.keys(  ),"错误人数":wnum.values(  )})
df2_sort=df2.sort_values('错误人数',   ________ )
print(df2_sort)        #输出结果如图c所示
#创建图表,分析错误人数最多的前6个单选题
df3 = df2_sort. ________
plt.title("错误人数排名前 6 的单选题")

plt.bar

plt.ylim(5,30)
plt.legend(  )
plt.show (  )

(3)要生成如图d所示的柱形图,第(2)题加框处应填写的代码是_____   (多选)

A.题号,错误人数
B.df3["题号"],df3["错误人数"]
C.df3.题号,df3.错误人数,label="错误人数"
D.df2_sort[:6].题号, df2_sort[:6].错误人数,label="错误人数"
2023-07-11更新 | 36次组卷
共计 平均难度:一般