计算参赛总人数与总平均分,输出结果如图2;
根据学生成绩设置其对应的荣誉勋章,100分为金牌,90分为银牌,80分为铜牌,其它成绩删除。
统计各班获得勋章的人数,将班级按获得勋章人数降序排序,形成柱形图,如图3。
图1 图2
(1)根据要求补充划线处代码。
import pandas as pd
import matplotlib.pyplot as plt
#设置中文显示,代码略
df=pd.read_excel("宪法知识挑战.xlsx")
#统计参赛人数、总平均分
print("参赛人数:",len(df))
print("总平均分:",round(df.挑战成绩.①
#根据挑战成绩设置对应的荣誉勋章
xz={100:"金牌",90:"银牌",80:"铜牌"}
for i in df.index:
if df.at[i,"挑战成绩"]>70:
df.at[i,"荣誉勋章"]=②
else:
df=df.drop(i) #删除i行
#绘制各班按荣誉勋章获得人数降序排序的柱形图
df1=df.groupby("班级",as_index=False).count()
df1=df1.③
plt.figure()
plt.title("各班获荣誉勋章人数统计柱形图")
plt.xlabel("班级")
plt.ylabel("人数")
plt.show()
图3
(2)要生成如图14-3所示的柱形图,方框中应填写的代码是
A.plt.bar(df1.班级, df1.荣誉勋章) B.plt.bar(df1.班级, df1.人数)
C.plt.bar(df1.index, df1.荣誉勋章) D.plt.plot(df1.班级, df1.荣誉勋章)
同类型试题
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2