python利用pandas分析学生期末成绩实例代码


Posted in Python onJuly 09, 2021

安装Pandas

Pandas是构建在Python编程语言之上的一个快速、强大、灵活且易于使用的开源数据分析和操作工具。Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集。

我们使用pip进行安装(如果没有可自行查询如何安装pip)安装panda最简单的方法是将其作为Anaconda的一部分安装,Anaconda主要用于数据分析和科学计算。还提供源代码、PyPI、ActivePython、各种Linux发行版或开发版本进行安装的说明。

当然,最为基础的Python环境还是少不了的,如果你是Linux或使用的Mac就不用安装Python了。

python利用pandas分析学生期末成绩实例代码

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='学生成绩区间统计图')

python利用pandas分析学生期末成绩实例代码

(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分析学生期末成绩码的文章就介绍到这了,更多相关pandas分析期末成绩内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python执行子进程实现进程间通信的方法
Jun 02 Python
Python素数检测实例分析
Jun 15 Python
python机器学习之决策树分类详解
Dec 20 Python
Django实现表单验证
Sep 08 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
python内置函数sorted()用法深入分析
Oct 08 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
Python 定义只读属性的实现方式
Mar 05 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
实战Python爬虫爬取酷我音乐
Apr 11 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
Python中常用的内置方法
2019/01/28 Python
Python3几个常见问题的处理方法
2019/02/26 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
深入浅析python的第三方库pandas
2020/02/13 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
给客户的道歉信
2014/01/13 职场文书
门诊手术室工作制度
2014/01/30 职场文书
小学教师师德感言
2014/02/10 职场文书
浪漫婚礼主持词
2014/03/14 职场文书
奥运会口号
2014/06/13 职场文书
校运会口号
2014/06/18 职场文书
党员示范岗材料
2014/12/19 职场文书
车间统计员岗位职责
2015/04/14 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
现实表现证明材料
2015/06/19 职场文书
辩论会主持词
2015/07/03 职场文书
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server