千家信息网

python如何利用pandas分析学生期末成绩

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容介绍了"python如何利用pandas分析学生期末成绩"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够
千家信息网最后更新 2025年12月01日python如何利用pandas分析学生期末成绩

本篇内容介绍了"python如何利用pandas分析学生期末成绩"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

安装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 pdimport numpy as npimport randomfrom 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)#将姓名作为indexdf=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 40df["第一次实验报告"]=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.1df

(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")

"python如何利用pandas分析学生期末成绩"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

成绩 实验 报告 统计 综合 分析 文件 输出 区间 数据 处理 学生 人数 分数 姓名 数据分析 第一次 缺失 全班 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 我的世界死亡黄昏服务器 长沙冠盈互联网科技有限公司 电池放电数据库结构 ntp时间同步服务器ip地址 服务器配置与管理摘要怎么写 经济技术开发区彩湖网络技术 代码中怎么查看数据库连接池 数据库登录显示连接超时 一般软件开发用到的技术 吴中区便宜服务器高质量的选择 无锡生态软件开发注意事项 首批一流网络安全学院建设 学生会网络技术部发展方向 网络安全执法专业教授 结构化软件开发有哪些工作阶段 阿里巴巴购买服务器 软件开发业盈利能力分析 亿级规模用什么数据库 江干教育网络安全平台 移动网络技术的定义和发展过程 风云岛行动国际服无法连接服务器 好搭档网络技术有限公司 宁波海葵网络技术有限公司 明日之后远星城服务器攻略 怎么让软件开发出来 网络安全未通过验证6 云袭网络技术河北有限公司加班 杭州游卡网络技术面试 健康云 服务器 网络安全的三大基本属性
0