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 基础学习教程
Feb 08 Python
Python中的二叉树查找算法模块使用指南
Jul 04 Python
wxpython中利用线程防止假死的实现方法
Aug 11 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
Jan 20 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
May 22 Python
使用python的pandas为你的股票绘制趋势图
Jun 26 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
python 生成器和迭代器的原理解析
Oct 12 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
使用Puppeteer爬取微信文章的实现
Feb 11 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
php学习笔记之 函数声明
2011/06/09 PHP
php 字符串替换的方法
2012/01/10 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
JsonProperty 的使用方法详解
2019/10/11 Javascript
关于Python中浮点数精度处理的技巧总结
2017/08/10 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
酒吧副总经理岗位职责
2013/12/10 职场文书
厂长助理岗位职责
2013/12/27 职场文书
食堂个人先进事迹
2014/01/22 职场文书
和解协议书
2014/04/16 职场文书
假期安全教育广播稿
2014/10/04 职场文书
经销商会议开幕词
2016/03/04 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python