如何统计出各班及格的人数?
df.groupby('班级'),然后怎么count?及格率怎么求?求大神解答
可以先取出及格人数的数据框,再用groupby分组计数。参考代码:
import pandas as pd
df=pd.DataFrame({'id':[2101,2102,2103,2104,2105,2106],'name':['a','b','c','d','e','f'],'class':['c1','c2','c2','c3','c1','c3'],'score':[78,62,51,70,55,82]})
d=df[df['score']>=60]
g=d.groupby('class')['score'].count()
print('各班及格人数:\n', g.to_dict())
n = df.groupby('class')['id'].count()
r=g/n*100
print('各班及格率:\n',r.to_dict())
运行结果:
F:\2021\qa\ot2>t9
各班及格人数:
{'c1': 1, 'c2': 1, 'c3': 2}
各班及格率:
{'c1': 50.0, 'c2': 50.0, 'c3': 100.0}
如果解答对你有帮助,请点击采纳按钮。