python利用pandas分析学生期末成绩实例代码

安装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")

总结

到此这篇关于python利用pandas分析学生期末成绩码的文章就介绍到这了,更多相关pandas分析期末成绩内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Python数据分析--Pandas知识点

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘 1. 重复值的处理 利用drop_duplicates()函数删除数据表中重复多余的记录, 比如删除重复多余的ID. import pandas as pd df = pd.DataFrame({"ID": ["A1000","A1001","A1002", "A1002"], "departmentId":

  • Python数据分析库pandas高级接口dt的使用详解

    Series对象和DataFrame的列数据提供了cat.dt.str三种属性接口(accessors),分别对应分类数据.日期时间数据和字符串数据,通过这几个接口可以快速实现特定的功能,非常快捷. 今天翻阅pandas官方文档总结了以下几个常用的api. 1.dt.date 和 dt.normalize(),他们都返回一个日期的 日期部分,即只包含年月日.但不同的是date返回的Series是object类型的,normalize()返回的Series是datetime64类型的. 这里先简单

  • Python数据分析模块pandas用法详解

    本文实例讲述了Python数据分析模块pandas用法.分享给大家供大家参考,具体如下: 一 介绍 pandas(Python Data Analysis Library)是基于numpy的数据分析模块,提供了大量标准数据模型和高效操作大型数据集所需要的工具,可以说pandas是使得Python能够成为高效且强大的数据分析环境的重要因素之一. pandas主要提供了3种数据结构: 1)Series,带标签的一维数组. 2)DataFrame,带标签且大小可变的二维表格结构. 3)Panel,带标

  • Python数据分析库pandas基本操作方法

    pandas是什么? 是它吗? ....很显然pandas没有这个家伙那么可爱.... 我们来看看pandas的官网是怎么来定义自己的: pandas is an open source, easy-to-use data structures and data analysis tools for the Python programming language. 很显然,pandas是python的一个非常强大的数据分析库! 让我们来学习一下它吧! 1.pandas序列 import nump

  • Python数据分析pandas模块用法实例详解

    本文实例讲述了Python数据分析pandas模块用法.分享给大家供大家参考,具体如下: pandas pandas10分钟入门,可以查看官网:10 minutes to pandas 也可以查看更复杂的cookbook pandas是非常强大的数据分析包,pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包.就好比 Numpy的核心是 ndarray,pandas 围绕着 Series 和 DataFrame 两个核心数据结构展开 .Series和DataFrame 分

  • Python入门之使用pandas分析excel数据

    1.问题 在python中,读写excel数据方法很多,比如xlrd.xlwt和openpyxl,实际上限制比较多,不是很方便.比如openpyxl也不支持csv格式.有没有更好的方法? 2.方案 更好的方法可以使用pandas,虽然pandas不是专门处理excel数据,但处理excel数据确实很方便. 本文使用excel的数据来自网络,数据内容如下: 2.1.安装 使用pip进行安装. pip3 install pandas 导入pandas: import pandas as pd 下文使

  • Python Pandas数据分析工具用法实例

    1.介绍 Pandas是基于Numpy的专业数据分析工具,可以灵活高效的处理各种数据集,也是我们后期分析案例的神器.它提供了两种类型的数据结构,分别是DataFrame和Series,我们可以简单粗暴的把DataFrame理解为Excel里面的一张表,而Series就是表中的某一列 2.创建DataFrame # -*- encoding=utf-8 -*- import pandas if __name__ == '__main__': pass test_stu = pandas.DataF

  • Python数据分析之真实IP请求Pandas详解

    前言 pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 .Series 和 DataFrame 分别对应于一维的序列和二维的表结构.pandas 约定俗成的导入方法如下: from pandas import Series,DataFrame import pandas as pd 1.1. Pandas分析步骤 1.载入日志数据 2.载

  • Python数据分析之如何利用pandas查询数据示例代码

    前言 在数据分析领域,最热门的莫过于Python和R语言,本文将详细给大家介绍关于Python利用pandas查询数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 这里的查询数据相当于R语言里的subset功能,可以通过布尔索引有针对的选取原数据的子集.指定行.指定列等.我们先导入一个student数据集: student = pd.io.parsers.read_csv('C:\\Users\\admin\\Desktop\\student.csv')

  • 基于Python数据分析之pandas统计分析

    pandas模块为我们提供了非常多的描述性统计分析的指标函数,如总和.均值.最小值.最大值等,我们来具体看看这些函数: 1.随机生成三组数据 import numpy as np import pandas as pd np.random.seed(1234) d1 = pd.Series(2*np.random.normal(size = 100)+3) d2 = np.random.f(2,4,size = 100) d3 = np.random.randint(1,100,size = 1

随机推荐