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实现TCP服务器端与客户端的方法详解
Apr 30 Python
Python中turtle作图示例
Nov 15 Python
Python中logging实例讲解
Jan 17 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
Python调用C语言的实现
Jul 26 Python
python3注册全局热键的实现
Mar 22 Python
Jupyter Notebook远程登录及密码设置操作
Apr 10 Python
Python常用数字处理基本操作汇总
Sep 10 Python
Python实例教程之检索输出月份日历表
Dec 16 Python
python中sys模块的介绍与实例
Apr 17 Python
python基于opencv批量生成验证码的示例
Apr 28 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
layui使用label标签的方法
2019/09/14 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
Nodejs + sequelize 实现增删改查操作
2020/11/07 NodeJs
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
基于python实现学生信息管理系统
2019/11/22 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
介绍一下RMI的基本概念
2016/12/17 面试题
会计专业毕业生自我鉴定
2013/10/29 职场文书
机械电子工程专业推荐信范文
2013/11/20 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
建筑管理专业求职信
2014/07/28 职场文书
授权委托书
2014/09/17 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
2014年图书室工作总结
2014/12/09 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
月考总结与反思
2015/10/22 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
七年级作文之秋游
2019/10/21 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL