学生手册成绩分析-以学院为单位进行划分

以学院为单位进行划分

import pandas as pd
import numpy as np

导入学生手册考试成绩数据

df = pd.read_excel("学生手册考试成绩.xlsx")

预处理成绩数据dtype

df['总成绩'].replace('缺考','-1',inplace=True)

df[u'总成绩']=df[u'总成绩'].astype('int64')

创建学院信息

data = np.array(['法政与公共管理学院','国际文化交流学院', '化学与材料科学学院', '教育学院' , 
                 '历史文化学院','旅游系','马克思主义学院','美术与设计学院','软件学院','商学院',
                 '生命科学学院','数学与信息科学学院','体育学院','外国语学院','文学院','物理科学与信息工程学院',
                 '新闻传播学院','信息技术学院','音乐学院','职业技术学院','中燃工学院','资源与环境科学学院'])

college = pd.Series(data)

H = pd.DataFrame(np.random.randn(22,8),columns=["学院名称",'总人数','通过人数','80分以上','75分以上','未通过人数','及格率','优秀率'])

生成22个学院的成绩表

for i in range(0,22):
    m = df.loc[(df['学院名称'] == college[i]), ['姓名', '学号', '学院名称', '班级', '总成绩', '认证状态']]
    a=m.loc[(df['总成绩'] >= 80)].count()[0]
    b=m.loc[(df['总成绩'] >= 75)].count()[0]
    c=m.loc[(df['总成绩'] >= 70)].count()[0]
    d=m.count()[0]
    e=format(float(a)/float(d),'.3f')
    g=format(float(c)/float(d),'.3f')
    h=d-c
    H.loc[i]=[college[i],d,c,a,b,h,g,e]
    m.reset_index(drop = True)#重建索引
    #m.to_excel(college[i]+".xlsx", sheet_name='学生手册考试成绩')

H.to_excel("学院分析.xlsx", sheet_name='学生手册考试成绩')

猜你喜欢

转载自www.cnblogs.com/hebtu/p/10194782.html