Python实现大学绩点计算——利用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对绩点进行统计。博主所在学院的绩点计算方式如下:
总 绩 点 = ∑ 科 目 学 分 ∗ 科 目 绩 点 ∑ 科 目 学 分 总绩点=\frac{\sum{科目学分*科目绩点}}{\sum{科目学分}}总绩点=∑科目学分∑科目学分∗科目绩点​
统计所得的表格类型如下:

姓名学分绩点张三15.0张三24.3张三0.253.7李四0.55.0李四22.6

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

更新时间

2021.9.19

Original: https://blog.csdn.net/weixin_48889295/article/details/120383028
Author: 今天没有吃可爱多
Title: Python实现大学绩点计算——利用pandas对excel处理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/742533/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球