Python3分析考试成绩1成绩预处理

1.数据预处理

首先用Excel内部的VLOOKUP函数,将每位学生的成绩匹配。这里最好还是用身份证号或者学籍号进行匹配,一方面准确,不易出现重名、字符编码之类的问题,另一方面有利于保护学生数据隐私。

 

像一些学生因特殊原因没有成绩,一种处理方法是寻找类似变化的成绩进行替代,另一种是,如果缺失成绩过多,就将整行成绩去掉。可以考虑中间缺失值,用前后均值替代。值也可以考虑用之前的均值和之后均值的差,来填充这个差值,这个前后均值,可以考虑选取之前与缺失数据比较接近的程度的均值。使用相似样本的均值添补缺失值,或者考虑用机器学习的方法预测缺失值。但是如刚才所说,缺失成绩过多,则应删掉,也就是如果一共6项成绩,有4项缺失,则必须要删掉了。接下来,我们尝试用这样一种顺序来做相应数据的清洗:删除缺失过多的数据--对缺失数据进行填充--导出新的Excel。

1. 删除缺失过多的数据  2. 对缺失数据进行填充

import pandas as pd
tablePath = '1化学数据清洗.xls'

#导入测试的xls数据,并DataFrame化
originalData = pd.DataFrame(pd.read_excel(tablePath))   #导入excel数据,并转化为DataFrame格式
#print(originalData)
delDoneData = originalData.dropna(axis=0,thresh=5) #每行至少保留5个数据,也就是除了班级、姓名之外,还得有3个非空值数据,否则将删除整行
sortData = delDoneData.sort_values(by=['化学2'],ascending=False)                     #按第2列进行排序
sortData = sortData.reset_index(drop = True)        #重置索引
print(sortData)
sortData = sortData.interpolate(method='akima')   #用method= 改变参数,进行插值
print(sortData)
sortData.to_excel('1.xls')

 

 

 

Pandas 中的插值,通过 interpolate() 方法完成,默认为线性插值,即 method='linear'。除此之外,还有{‘linear’, ‘time’, ‘index’, ‘values’, ‘nearest’, ‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘barycentric’, ‘krogh’, ‘polynomial’, ‘spline’, ‘piecewise_polynomial’, ‘from_derivatives’, ‘pchip’, ‘akima’}等插值方法可供选择。那么接下来,我们就对这些方法进行逐一比较。比较的数据,集中在几个典型的缺失数据上。

 

 

 

 

 

 

从图中可以看出,第一个系列,liner、pchip、akima方法得出的数据比较符合规律。第二个是liner、quadratic较为符合。注意图4,数据匹配过高,与后面几次数据的符合度较差,所以要进行手动修正。

这种插值方法,比较简单基础,也是比较符合实际,但是还是要根据学生具体的情况,来确定其合理的数值。

最后我们得到了数据清洗之后的成绩总表,用于使用Excel和各种方法进行导入并分析。

3. 观察数据特点

 

 

从图中、以及标准差可以看出,第一次的数据与后面各项数据偏差太大,所以后面分析的时候,可以考虑删除。

至此,数据的预处理到此为止。如果是用于建立模型,并使用得到的结果进行预测,最好还是删除所有空值及0的行,这样预测得到的结果可能更具有代表性。

参考资料:

参考资料:https://blog.csdn.net/lwgkzl/article/details/80948548

https://blog.csdn.net/oxuzhenyi/article/details/77971330


接下来要做的,是用Excel的各种图表分析工具,对这些数据进行逐类分析,力图从基础指标得到一些能够帮助学生确定自身努力方向的结果。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
92讲视频课+16大项目实战+课件源码  为什么学习数据分析?       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。      从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘数据价,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。   本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。  二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。  四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。  五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

limaning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值