图a 图b
请回答下列问题:
(1)统计各学校技术选考人数占本校总人数的比例,找出占比最高的前5所学校并绘制柱形图,如图b所示。部分Python程序如下,请在划线处填写合适的代码。
import pandas a spd
import matplotlib.py plot as plt
#图表支持中文字体显示,代码略
df=pd.read_excel("jsx k.xls",dtype={'学校代码':'string'}) #学校代码列为字符串
df1=df. groupby("
df 1=df1. rename(columns={'姓名':'学生总数'}) #重命名列
df1['技术比例'] =round(
dfl=dfl. sort_values('技术比例',ascending=False).head(5)
plt.title('技术选考比例前5的学校')
plt.bar(
plt. show()
(2)在本问题的解决中,为了探究函数groupby(),某同学编写了自定义函数zdygroupby(),其功能为统计各校技术选考总人数,并以字典的形式返回。函数代码如下,请在划线处填写合适的代码。(注:代码中1st为二维列表,列表中每个元素包含3个数据项,格式如[['201901','顾筱扬',NaN],['201901','俞凯睿',1.0],['201901',陈丹祺',1.0]……])
def zdygroupby(1st):
dic={}
for row in lst:
if row[2] ==1:
if
dic[row[0] ] = 1
else:
dic[row[0] ] += 1
同类型试题
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