题目
某中学为更好组织高三学生参加某高校的三位一体招生考试(该高校三位一体招生学业水平考试成绩折算如下:各科学考等级按A=10分、B=9分、C=8、D=6分进行折算),统计了所有学生学业水平成绩情况,并保存在“学考成绩.xlsx”中,如图a所示。用Python读取“学考成绩.xlsx”文件,并计算每个学生的折算分,筛选出各班“A总数”最多的前5条数据,导出到“各班前5名统计.xlsx”文件中。同时为直观展示各班折算分92分以上人数对比,生成图b所示图表。
图 a
图 b
(1)
在对表格进行整理时发现,表格中关于“德乐蕊”的记录,可能存在的数据问题是 (选填:A .数据缺失/B .数据异常/C .逻辑错误/D .格式不一致)。
(2)
“各班前5名统计.xlsx”文件中共有 位学生数据。
(3)
请在下述程序的划线处填上合适的代码。
Python 程序代码如下:
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
df=pd.read_excel('学考成绩.xlsx')
#正常显示汉字
df.折算分=
#对df以“班级”为主要关键字升序、“A总数”为次要关键词降序进行排序
df_sort=df.sort_values(['班级', 'A 总数'], ascending=[True, False])
result=df_sort.head(5)
for i in range(2, 7):
result=result.append(df_sort[ ].head(5), ignore_index=True) result.to_excel('各班前5名统计.xlsx')
df=df[df.折算分>=92]
df_count=df.groupby('班级').count( )
#修改“折算分”列名为“上线人数”
df_count = df_count.rename(columns={'折算分':'上线人数'})
x=df count.index
y=
plt.figure(figsize=(8, 4))
plt.bar(x, y, label='上线人数')
plt.ylim(15, 30)
plt.legend( )
plt.show( )
答案: 【1】B
【1】30
【1】df. A总数*10+df. B总数*9+df.C总数*8+df.D总数*6或df["A总数"]*10+df["B总 数"]*9+dr["C总数”]*8+dr["D总数"]栖6【2】dr_ sort["班级"]=i【3】df_ _count["上线人数]