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中的多重装饰器
Apr 11 Python
python编码总结(编码类型、格式、转码)
Jul 01 Python
python爬虫爬取某站上海租房图片
Feb 04 Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 Python
Python中时间datetime的处理与转换用法总结
Feb 18 Python
Flask教程之重定向与错误处理实例分析
Aug 01 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
python global和nonlocal用法解析
Feb 03 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
python 通过文件夹导入包的操作
Jun 01 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
Aug 07 Python
用Python创建简易网站图文教程
Jun 11 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
jQuery 技巧小结
2010/04/02 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python常用算法学习基础教程
2017/04/13 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
深入学习python多线程与GIL
2019/08/26 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
机械专业毕业生推荐信范文
2013/11/25 职场文书
一年级小学生评语
2014/04/22 职场文书
股东授权委托书范本
2014/09/13 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
民事纠纷协议书
2016/03/23 职场文书
实习报告范文
2019/07/30 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python