python利用pandas分析学生期末成绩实例代码
作者:只为你220 发布时间:2023-12-13 19:29:08
安装Pandas
Pandas是构建在Python编程语言之上的一个快速、强大、灵活且易于使用的开源数据分析和操作工具。Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集。
我们使用pip进行安装(如果没有可自行查询如何安装pip)安装panda最简单的方法是将其作为Anaconda的一部分安装,Anaconda主要用于数据分析和科学计算。还提供源代码、PyPI、ActivePython、各种Linux发行版或开发版本进行安装的说明。
当然,最为基础的Python环境还是少不了的,如果你是Linux或使用的Mac就不用安装Python了。
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='学生成绩区间统计图')
(8)将完整的成绩保存到score.xlsx文件中,打开excel检查输出是否正确。
将结果保存为.xlsx文件
df.to_excel(excel_writer="score.xlsx",index=False,encoding='utf-8')
将刚刚保存的.xlsx文件打开,查看结果是否正确
pd.read_excel("score.xlsx")
总结
来源:https://blog.csdn.net/weixin_48906504/article/details/117931329


猜你喜欢
- python框架有很多,例如:Flask,Django,FastAPI 等。本文将使用 Flask 来编写 API 接口。安装Flask首先
- 前言Kettle下载与安装保姆级教程(最新)Kettle下载安装pdi-ce-7.1.0.0-12教程win10环境安装kettle与lin
- 1. select的使用select 是 Go 提供的 IO 多路复用机制,可以用多个 case 同时监听多个 channl 的读写状态:c
- Python 编程中使用 time 模块可以让程序休眠,具体方法是time.sleep(秒数),其中“秒数”以秒为单位,可以是小数,0.1秒
- 本文实例讲述了Django框架静态文件使用/中间件/禁用ip功能。分享给大家供大家参考,具体如下:静态文件一、静态文件的使用静态文件:网页中
- OCR简介OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子
- 在做Django项目的过程中, 无法进入pycharm提供的Run manager.py Task交互环境出现这种问题是因为Pycharm无
- 环境介绍python3.8numpymatplotlib第一步,绘制一个三维的爱心关于这一步,我采用的是大佬博客中的最后一种绘制方法。当然,
- 最近做百度地图的模拟数据,需要获取某条公交线路沿途站点的坐标信息,貌似百度没有现成的API,因此做了一个模拟页面,工具而已,IE6/7/8不
- 每次访问报表都需要windows验证,这样的报表给客户确实很说不过去.SSRS 可以匿名登录的设定步骤:环境:开发工具:SQL Server
- 前言:在上一篇文章,已经实现了访问指定URL就返回了指定的数据,这也体现了RESTful API的一个理念,每一个URL代表着一个资源。当然
- pip简介pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能pip是官方推荐的
- 方法一使用findspark使用pip安装findspark:pip install findspark在py文件中引入findspark:
- 在许多用SQL Server实现的新的企业系统设计中,系统设计师需要在给数据结构和管理应用程序逻辑的定位上做出具有关键性意义的决定。SQL
- 1、PHP 中如何正确统计中文字数?这个是困扰我很久的问题,PHP 中有很多函数可以计算字符串的长度,比如下面的例子,分别使用了
- 索引初识最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。CREATE TABLE mytable
- 0.摘要本文主要介绍numpy库中,csv文件中数据的写入和读取方式。1.文件写入与读取写入:import numpy as npa = n
- <script src="jquery.min.js" type="text/javascript&qu
- 1. 新建.py文件# pip install kafka-pythonfrom kafka import KafkaConsumerimp
- 一、self的位置是出现在哪里?首先,self是在类的方法中的,在调用此方法时,不用给self赋值,Python会自动给他赋值,而且这个值就