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爬取APP下载链接的实现方法
Sep 30 Python
Django原生sql也能使用Paginator分页的示例代码
Nov 15 Python
Python实现求解一元二次方程的方法示例
Jun 20 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
Oct 22 Python
解决Pycharm下面出现No R interpreter defined的问题
Oct 29 Python
python匹配两个短语之间的字符实例
Dec 25 Python
Python3.6中Twisted模块安装的问题与解决
Apr 15 Python
python下载库的步骤方法
Oct 12 Python
Python编程快速上手——疯狂填词程序实现方法分析
Feb 29 Python
基于Python的Jenkins的二次开发操作
May 12 Python
python collections模块的使用
Oct 16 Python
Python Socket编程详解
Apr 25 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JQuery 小练习(实例代码)
2009/08/07 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
python冒泡排序简单实现方法
2015/07/09 Python
python之Socket网络编程详解
2016/09/29 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
过滤器的用法
2013/10/08 面试题
计算机售后服务承诺书
2014/05/30 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
python实现股票历史数据可视化分析案例
2021/06/10 Python