图a
为统计分析各个学校的各个科目选课的情况,编写Python程序。请回答下列问题:
(1)数据整理。已知前3列数据均没有缺失,每个学生选课数量应该为3,小明想要查看是否有学生的选课数量不为3,若有则输出该学生的学生编号。实现代码如下,请在划线处填入合适的代码。
import pandas as pd
df1=pd.read_excel("1.xlsx")
df2=df1.T #将df1行列转置后的结果赋值给df2
flag=True
for i in df2.columns:
if ①
s=df2.at["学生编号",i]
print("编号为",s,"的学生选课科目数量不为3!")
②
if flag:
print("学生选课科目数量均为3!")
(2)若存在学生选课数量不为3的,则该数据存在的数据问题是
(3)数据计算和可视化。小明将上述数据整理后,计算两所学校各个科目选课人数占学校总人数的比例,绘制如图b所示散点图进行比较,部分Python程序如下,请在划线处填入合适的代码。
图b
g=dfl.groupby("学校名称").count()
km=["物理","化学","生物","政治","历史","地理","技术"]
zb=[]
for i in g.index:
for j in g.columns[2:]:
a=g.at[i,j]/g.at[i,"姓名"]*100
plt.scatter(km,zb,label=i+"各科选课占比")
zb=[]
plt.title("两所中学各科目选课占比比较")
plt. legend();plt. show()
(4)由图可知选课比例最接近的科目是
同类型试题
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