學生手冊成績分析-以學院為單位進行劃分
阿新 • • 發佈:2018-12-29
以學院為單位進行劃分
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='學生手冊考試成績')