(1)根据选课情况完成填充组合列(L列)。
(2)统计组合数量,并将选课组合人数最多的5个组合以柱形图的方式呈现(如图所示)。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel ("xk.xlsx")
plt.rc('font',**{'family':'SimHei'})
zh=[ ]
n=df.姓名.count()
xk=["物理","化学","生物","政治","历史","地理","技术"]
#处理组合名, 将组合名依次存入列表 zh 中
for i in range(n):
a=""
for x in xk:
if df.at[i,x]==1:
if x=="历史":
a=a+"史"
else:
a=a+x[0]
zh.append(a)
df["组合"]=
#将组合名填入 L 列
df1=df.groupby("组合",as_index=False).姓名.count()
df1.rename(columns={"姓名":"人数"},inplace=True) #将列标题”姓名”改成”人数”
df1.sort_values("人数",
df2=df1[0:5]
x=df2["组合"]
y=df2["人数"]
plt.
plt.show ()
同类型试题
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