为统计冬锻完成情况,编写Python程序。请回答下列问题:
(1)定义outdata函数,其中参数dftmp是DataFrame数据类型,数据由图a所示的Excel表导入。函数功能是:统计每天每个学生的锻炼项目个数,返回含有“学籍号”、“姓名”和“项目个数”信息的二维列表。函数代码如下,划线处应填入的代码为
A.dftmp.at[i,j]==″√″ B.dftmp[i][j]=″√″ C. dftmp.at[j,i]==″√″ D.dftmp[j][i]=″√″
def outdata(dftmp):
a=[]
for i in dftmp.index: #dftmp的行索引
itemn=0
for j in dftmp.columns[4:]: #dftmp中从“跑步”开始的列标题
if______:
itemn+=1
a.append([str(df[″学籍号″][i]),df[″姓名″][i],itemn])
return a
(2)冬锻打卡成功的标准为累计运动15天,每天锻炼项目达到3项及以上。统计输出寒假体育锻炼达标的学生名单,并制作四个项目的运动次数对比图,部分界面如图b和图c所示。部分Python程序如下,请在划线处填写合适的代码或改正加框处代码。
import pandas as pd
import matplotlib. pyplot as plt
df=pd.read_excel(″sport.xls″)
1st=outdata(df)
print(″冬锻打卡成功名单:″)
i=0:flag=[False]*len(1st)
while i<len(1st):
if #
xjh=1st[i][0]
flag[i]=True
for j in range(i+1,len(1st)):
if 1st[j][0]==xjh and lst[j][2]>=3:
flag[j]=True
days+=1
if days>=15:
print(1st[i][0]+″/″+1st[i][1]+″/″+str(days)+″天″)
ydl=df.count() #统计各列非空单元格数量,结果为Series
iten=[″跑步″,″跳绳″,″俯卧撑″,″仰卧起坐″]
nums=
plt.bar(item,nums,label=″运动次数″)
#设置绘图参数,代码略
同类型试题
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