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的Django框架中消息通知的计数器实现教程
Jun 13 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
Python程序退出方式小结
Dec 09 Python
python 利用栈和队列模拟递归的过程
May 29 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
使用NumPy读取MNIST数据的实现代码示例
Nov 20 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 Python
python ssh 执行shell命令的示例
Sep 29 Python
进行数据处理的6个 Python 代码块分享
Apr 06 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
javascript取消文本选定的实现代码
2010/11/14 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
2016/12/13 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
解密Python中的描述符(descriptor)
2015/06/03 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
百度软件工程师职位
2013/02/14 面试题
村委会主任先进事迹
2014/01/15 职场文书
争论的故事教学反思
2014/02/06 职场文书
人事部经理岗位职责
2014/03/07 职场文书
安全生产责任书
2014/03/12 职场文书
管理岗位竞聘演讲稿
2014/08/18 职场文书
公民授权委托书
2014/10/15 职场文书
学生检讨书范文
2015/01/27 职场文书
Django与数据库交互的实现
2021/06/03 Python