Python实现大学绩点计算——利用pandas对excel处理

  • pandas处理excel
  • pandas读取excel
  • pandas创建新的excel
  • 编写代码计算大学绩点
  • 更新时间


pandas处理excel

Python中有许多读写与修改excel表格的方式,例如xlrd、openpy、pandas等等。而得益于pandas独有的dataframe数据类型,能够对读写进的excel表格进行各种数学统计与运算操作。下面介绍pandas对excel表格读写的几种基本操作。

pandas读取excel

import pandas as pd
from pandas import DataFrame

file_path = r'D:\data.xls'
df = pd.read_excel(file_path, sheet_name = "Sheet1")

读取进来的数据以一种类似于excel表格的方式进行存储,如果对数据进行打印,你就可以清晰的看到dataframe中的数据种类、格式等重要信息,例如:

姓名    学分   绩点  Unnamed: 3    Unnamed: 8  Unnamed: 9  Unnamed: 10  Unnamed: 11
0   张三  0.25  5.0         NaN  ...         NaN         NaN          NaN          0.0
1   张三  3.00  4.5         NaN  ...         NaN         NaN          NaN          NaN
2   张三  4.00  3.1         NaN  ...         NaN         NaN          NaN          NaN
3   张三  3.00  4.0         NaN  ...         NaN         NaN          NaN          NaN
4   张三  1.00  5.0         NaN  ...         NaN         NaN          NaN          NaN
5   张三  1.00  4.6         NaN  ...         NaN         NaN          NaN          NaN
6   张三  0.50  5.0         NaN  ...         NaN         NaN          NaN          NaN
7   张三  2.00  5.0         NaN  ...         NaN         NaN          NaN          NaN
8   张三  2.00  5.0         NaN  ...         NaN         NaN          NaN          NaN
9   张三  2.00  4.5         NaN  ...         NaN         NaN          NaN          NaN
10  张三  1.00  5.0         NaN  ...         NaN         NaN          NaN          NaN
11  张三  2.00  5.0         NaN  ...         NaN         NaN          NaN          NaN
12  张三  3.00  5.0         NaN  ...         NaN         NaN          NaN          NaN
13  张三  3.00  4.2         NaN  ...         NaN         NaN          NaN          NaN

对于dataframe中数据的检索也可以通过索引十分轻松的完成,例如如果我想要查看姓名这一列的第3行,那么可以通过下述代码实现:

[in] df.iloc[2][姓名]
[out] 张三

pandas创建新的excel

pandas创建新的excel表格同样十分简单,只需将普通的列表转化为dataframe,并通过to_excel函数进行创建。

data = { 'name': [], 'score': [], 'sum':[], 'jidian':[]}
df = DataFrame(data)
df.to_excel('new1.xlsx')

编写代码计算大学绩点

由于博主的学院没有提供年级绩点排名,且恰好收集了全年级所有学生的科目列表以及对应的成绩(格式如下表所示),因此决定利用Python对绩点进行统计。博主所在学院的绩点计算方式如下:
python给成绩表Excel加上姓名列 python做excel成绩分析_python
统计所得的表格类型如下:

姓名

学分

绩点

张三

1

5.0

张三

2

4.3

张三

0.25

3.7

李四

0.5

5.0

李四

2

2.6

第一列为学生姓名,第二列为各科学分,第三列为各科绩点。下面为实现代码链接:
python实现大学生绩点排名计算 实现生成excel表格包括学生姓名,总绩点,总学分,有效学分(学分*绩点)。代码较简单,只为博主复习一下pandas包=^=。

更新时间

2021.9.19