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 发送邮件实例代码
Dec 22 Python
python 生成器协程运算实例
Sep 04 Python
python和flask中返回JSON数据的方法
Mar 26 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
Jun 20 Python
PyQt5下拉式复选框QComboCheckBox的实例
Jun 25 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
你可能不知道的Python 技巧小结
Jan 29 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
截获网站title标签之家内容的例子
2006/10/09 PHP
php生成WAP页面
2006/10/09 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
php上传excel表格并获取数据
2017/04/27 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
详解python算法之冒泡排序
2019/03/05 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
浅析Python 条件控制语句
2020/07/15 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
会计实习生工作总结的自我评价
2013/10/07 职场文书
高一家长会邀请函
2014/01/12 职场文书
汽车转让协议书范本
2014/12/07 职场文书
七年级作文之英语老师
2019/10/28 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
实例详解Python的进程,线程和协程
2022/03/13 Python