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

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

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

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

更新时间

2021.9.19

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值