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 计算两个日期相差多少个月实例代码
May 24 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
python 构造三维全零数组的方法
Nov 12 Python
Flask框架工厂函数用法实例分析
May 25 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 Python
scrapy头部修改的方法详解
Dec 06 Python
用python对excel进行操作(读,写,修改)
Dec 25 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 Python
Python学习之异常中的finally使用详解
Mar 16 Python
使用pandas生成/读取csv文件的方法实例
python自动化八大定位元素讲解
python实现简单聊天功能
Python re.sub 反向引用的实现
Jul 07 #Python
Python制作一个随机抽奖小工具的实现
Python 数据科学 Matplotlib图库详解
Python3中最常用的5种线程锁实例总结
Jul 07 #Python
You might like
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
php表单处理操作
2017/11/16 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
非常漂亮的JS代码经典广告
2007/10/21 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
详细介绍Python中的偏函数
2015/04/27 Python
Django中几种重定向方法
2015/04/28 Python
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
自荐书4要点
2014/01/25 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
疾病捐款倡议书
2014/05/13 职场文书
绿色环保倡议书
2015/04/28 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server