#P1001. Pandas测试

Pandas测试

题目描述

评测环境的当前目录下已预置了一个 Excel 文件 score.xlsx,内容记录了若干同学的成绩。

表格结构如下:

学号 姓名 数学 英语 科学
101 张三 85 92 78
102 李四 55 60 45
103 王五 90 88 95
104 赵六 40 70 55
105 钱七 75 80 82

你需要编写程序完成以下逻辑:

  1. 读取 score.xlsx 文件。
  2. 新增一列名为 “总分”,数值为 数学、英语、科学 三科成绩之和。
  3. 筛选出 总分 \ge 180 的学生。
  4. 将筛选后的结果按 “学号” 升序(从小到大)排列。
  5. 最终输出这些学生的 “姓名”“总分” 列。

输入格式

  • 本题没有标准输入。程序运行时请直接读取当前目录下的 score.xlsx 文件。

输出格式

  • 直接使用 print 函数打印筛选并排序后的 DataFrame。

样例

样例输出 1

   姓名  总分
0  张三  255
2  王五  273
4  钱七  237

参考通过代码

如果你是第一次使用 Pandas,可以参考以下代码完成提交。

import pandas as pd

# 1. 读取 Excel 文件
df = pd.read_excel("score.xlsx")

# 2. 计算三科总分并创建新列
df['总分'] = df['数学'] + df['英语'] + df['科学']

# 3. 筛选总分大于等于 180 的记录,并按学号排序
res = df[df['总分'] >= 180].sort_values('学号')

# 4. 只输出姓名和总分这两列
print(res[['姓名', '总分']])