学⽣成绩分析之成绩的预处理python3pandas学⽣成绩汇总到
⼀张表
在进⾏数据分析之前,会有许多的成绩表,格式也颇为混乱,为了研究⽅便,可以将学⽣成绩统⼀到⼀张表上。我们⽤的学⽣各个时期的数据表格式如下图:
且有许多的这样的表格,以便分析:
⽽原始的学⽣成绩表如下:(excel⽂件,扩展名为xls,且不带宏,免得后期处理⿇烦)
将各个成绩的xls⽂件,加到这个原始表中,且要将成绩为0的⾏删掉,这样的⽬的是减少⽆效数据的⼲扰,另⼀种处理⽅式是取平均值,这⾥因为主要是针对个体数据进⾏分析,所以还是删掉。需要⽤到的库:numpy,pandas,xlwt,xlrd等。代码及解释如下:
# -*- coding: utf-8 -*-
import os
import pandas as pd
excelPath = '15李蕾成绩' #构建所有⽂件路径,所有原始成绩⽂件均在这⾥
theTablePath = '成绩测试李蕾15⼊学.xls' #数据总表模板⽂件,所有数据都往这⾥添加
name = '姓名' #以姓名为唯⼀标识(索引),这⾥其实最好是⽤学号,因为学号唯⼀,姓
名可能不唯⼀
def toAll(bigPath,smallPath,name):
aTable = pd.ad_excel(bigPath)) #将数据总表模板加载
bTable = pd.ad_excel(smallPath,sheet_name=0)) #将要加⼊的⼩表格加载
python怎么读取xls文件if name lumns: #如果存在姓名列,再加⼊,因为mac下有可能有.DS⽂件
print('存在列姓名')
result = pd.merge(aTable, bTable, on=[name], how='left') #按着姓名对应的⽅式将⼩表加⼊总表,但以总表为准
result.dropna(axis=0, how='any', inplace=True) #值为0则删除⾏ axis=1则是删除列,any是只要有空值就删除,⽽all则是全部为空再删除,True是在原数据集上 _excel(theTablePath) #将新的pandas数据集,返回为待分析的Excel⽂件
print(aTable.shape) #⽤于监控是否正常加⼊
print(result.shape)
return
for filename in os.listdir(excelPath): #读取⽂件名称
targetPath = excelPath + '/'+ filename #构造⽂件夹内每⼀个⽂件的绝对路径,mac下是/,win下注意是\
print(targetPath)
toAll(theTablePath,targetPath,name) #执⾏合并命令
执⾏命令之后,最终得到的数据集,如下图所⽰:
接下来,⾸先要明确现在主流的成绩分析⽅法,并归纳总结。然后指出其不科学或不实⽤不合理的地⽅,并加以分析。最后发表改进
的分析⽅法,并阐明原理,和分析结果。将两种分析⽅法进⾏对⽐(表格),并阐明新的分析⽅法的合理性,最终得出翻转课堂对于学⽣成
绩影响的结论。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论