Python中用pandas对学生成绩数据分析怎样做
Admin 2022-06-17 群英技术资讯 1134 次浏览
这篇文章给大家分享的是Python中用pandas对学生成绩数据分析怎样做。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。Pandas是构建在Python编程语言之上的一个快速、强大、灵活且易于使用的开源数据分析和操作工具。Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集。
我们使用pip进行安装(如果没有可自行查询如何安装pip)安装panda最简单的方法是将其作为Anaconda的一部分安装,Anaconda主要用于数据分析和科学计算。还提供源代码、PyPI、ActivePython、各种Linux发行版或开发版本进行安装的说明。
当然,最为基础的Python环境还是少不了的,如果你是Linux或使用的Mac就不用安装Python了。
pip install pandas
1.从excel文件中读出本班同学的成绩册,并处理好缺失值。
2.根据‘加分'和‘减分'两列统计出平时成绩。
3.将实验报告成绩从ABCD转换为百分制,统计出实验成绩。A为90分,B为75分,C为60分,D为40分。
4.随机生成假设的期末成绩,取值区间为40-100分。将自己的期末成绩改成你觉得可能考到的分数。
5.按照平时成绩20%,实验成绩30%,期末成绩50%的比例计算综合成绩。
6.输出你自己的平时成绩,实验成绩,期末成绩和综合成绩。
7.统计全班综合成绩[90,100],[80,89],[70,79],[60-69],[0,59]各段成绩的人数,并画饼图。
8.将完整的成绩保存到score.xlsx文件中,打开excel检查输出是否正确。
准备工作:导入需要用到的模块
import pandas as pd import numpy as np import random from matplotlib import pyplot as plt
(1)从excel文件中读出本班同学的成绩册,并处理好缺失值。
df=pd.read_csv("4班平时成绩.csv",encoding="gbk")
df=df.rename(columns={"ID":"学号"})#将列名ID重命名
df.set_index("姓名",inplace=True)#将姓名作为index
df=df.fillna(method="backfill")#处理缺失值
(2)根据‘加分'和‘减分'两列统计出平时成绩。
df["平时成绩"]=df["平时成绩"]-df["减分"]
df=df.drop("减分",axis=1)#删除列
(3)将实验报告成绩从ABCD转换为百分制,统计出实验成绩。A为90分,B为75分,C为60分,D为40分。
def m(x):#2 将ABCD转化为对应的分数
if x=="A":
return 90
if x=="B":
return 75
if x=="C":
return 60
if x=="D":
return 40
df["第一次实验报告"]=df.第一次实验报告.map(m)
df["第二次实验报告"]=df.第二次实验报告.map(m)
df["第三次实验报告"]=df.第三次实验报告.map(m)
(4)随机生成假设的期末成绩,取值区间为40-100分。将自己的期末成绩改成你觉得可能考到的分数。
def cj(x):
return random.randint(40,100)
df["期末成绩"]=""
df["期末成绩"]=df.期末成绩.map(cj)
df
(5)按照平时成绩20%,实验成绩30%,期末成绩50%的比例计算综合成绩。
df["综合成绩"]=df["期末成绩"]*0.5+df["平时成绩"]*0.2+df["第一次实验报告"]*0.1+\
df["第二次实验报告"]*0.1+df["第三次实验报告"]*0.1
df
(6)输出你自己的平时成绩,实验成绩,期末成绩和综合成绩。
df[df.姓名=='只为你220']
(7)统计全班综合成绩[90,100],[80,89],[70,79],[60-69],[0,59]各段成绩的人数,并画饼图。
y=pd.cut(df['综合成绩'],bins=[0,60,70,80,90,100],\
labels=['0-59','60-69','70-79','80-89','90-100'])#分区间
a=y.value_counts()#统计区间人数
print(a)
plt.rcParams['font.sans-serif']=['SimHei'] a.plot(kind='pie',title='学生成绩区间统计图')
(8)将完整的成绩保存到score.xlsx文件中,打开excel检查输出是否正确。
将结果保存为.xlsx文件
df.to_excel(excel_writer="score.xlsx",index=False,encoding='utf-8')
将刚刚保存的.xlsx文件打开,查看结果是否正确
pd.read_excel("score.xlsx")
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python内置函数-float()函数。float() 函数用于将整数和字符串转换成浮点数。
整个Spark 框架模块包含:Spark Core、 Spark SQL、 Spark Streaming、 Spark GraphX、 Spark MLlib,而后四项的能力都是建立在核心引擎之上。Spark Core:Spark的核心,Spark核心功能均由Spark Core模块提供...
本文主要介绍了python中ndarray数组的索引和切片的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了Python 切片为什么不会索引越界?切片(slice)是 Python 中一种很有特色的特性,在正式开始之前,我们先来从关于切片的相关知识开始介绍,感兴趣的小伙伴一起参考参考呀</P><P>
今天教各位小伙伴怎么用python实现字符串转日期,文中有非常详细的代码示例,对正在学习python的小伙伴很有帮助,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008