pandas实现:已知python课程某次平时上机练习成绩数据文件list_scorescmpt.xlsxlist_scorescmpt.xlsx,文件内容中每行有学号、姓名及四次作业的得分。 编写一个程序,完成以下操作: 1)读取list_scores.xlsx文件内容并显示;(10分) 2)四次作业总分分别为139、115、105、150,请将每次作业换算为百分制,保存为list_scorescmpt1.xlsx,并显示(35分) 3)总分为四次作业总分之和求平均。根据四次作业的百分制分数,计算每个同学的总分,并保存为list_scorescmpt1.xlsx。(20分)
时间: 2024-03-07 11:47:25 浏览: 14
以下是实现该功能的代码:
```python
import pandas as pd
# 读取文件
df = pd.read_excel('list_scores.xlsx')
print(df)
# 换算为百分制并保存
df[['homework1', 'homework2', 'homework3', 'homework4']] = df[['homework1', 'homework2', 'homework3', 'homework4']].apply(lambda x: x/139*100, axis=1)
df.to_excel('list_scorescmpt1.xlsx', index=False)
print(df)
# 计算总分并保存
df['total_score'] = df['homework1'] + df['homework2'] + df['homework3'] + df['homework4']
df.to_excel('list_scorescmpt1.xlsx', index=False)
print(df)
```
该代码实现了读取 `list_scores.xlsx` 文件内容并显示,将四次作业成绩换算为百分制并保存到 `list_scorescmpt1.xlsx` 文件中,并按四次作业成绩计算每个同学的总分并保存到 `list_scorescmpt1.xlsx` 文件中。
相关问题
已知python课程某次平时上机练习成绩数据文件list_scorescmpt.xlsxlist_scorescmpt.xlsx,文件内容中每行有学号、姓名及四次作业的得分。 编写一个程序,完成以下操作: 1)读取list_scores.xlsx文件内容并显示;(10分) 2)四次作业总分分别为139、115、105、150,请将每次作业换算为百分制,保存为list_scorescmpt1.xlsx,并显示(35分) 3)总分为四次作业总分之和求平均。根据四次作业的百分制分数,计算每个同学的总分,并保存为list_scorescmpt1.xlsx。(20分) 要求: 请从附件中下载文件list_scorescmpt.xlsx。 作业提交:请将代码实现文件和list_scorescmpt1.xlsx文件打包为zip上传
抱歉,我作为一个语言模型无法下载和上传文件。但我可以提供Python代码以完成你的要求。以下是代码:
```python
import pandas as pd
# 1) 读取并显示 list_scores.xlsx 文件内容
df = pd.read_excel('list_scores.xlsx')
print(df)
# 2) 将四次作业换算为百分制,并保存为 list_scorescmpt1.xlsx
homework_scores = [139, 115, 105, 150]
for i, score in enumerate(homework_scores):
df.iloc[:, i+2] = df.iloc[:, i+2] / score * 100
df.to_excel('list_scorescmpt1.xlsx', index=False)
print(df)
# 3) 计算每个同学的总分,并保存为 list_scorescmpt1.xlsx
df['总分'] = df.iloc[:, 2:].sum(axis=1)
df.to_excel('list_scorescmpt1.xlsx', index=False)
print(df)
```
代码解释:
1. 使用 `pandas` 库中的 `read_excel` 方法读取并显示 `list_scores.xlsx` 文件内容。
2. 使用循环,将每个同学的四次作业得分转换为百分制,并保存为 `list_scorescmpt1.xlsx` 文件。同时打印出转换后的数据。
3. 使用 `iloc` 方法选取除学号和姓名外的所有列,进行求和并添加到新列 `总分` 中。最后将数据保存到 `list_scorescmpt1.xlsx` 文件中,并打印出最终的数据。
已知python课程某次平时上机练习成绩数据文件list_scorescmpt.xlsx,文件内容中每行有学号、姓名及四次作业的得分。 编写一个程序,完成以下操作: 1)读取list_scores.xlsx文件内容并显示 2)四次作业总分分别为139、115、105、150,请将每次作业换算为百分制,保存为list_scorescmpt1.xlsx,并显示 3)总分为四次作业总分之和求平均。根据四次作业的百分制分数,计算每个同学的总分,并保存为list_scorescmpt1.xlsx。
好的,我来回答你的问题。
首先,我明白你的要求,并会严格保密。针对你的问题,以下是Python的程序实现:
```python
import pandas as pd
# 读取文件并显示
scores = pd.read_excel('list_scores.xlsx')
print(scores)
# 计算每次作业百分制分数
scores[['作业1', '作业2', '作业3', '作业4']] = scores[['作业1', '作业2', '作业3', '作业4']] / [139, 115, 105, 150] * 100
# 保存为list_scorescmpt1.xlsx并显示
scores.to_excel('list_scorescmpt1.xlsx', index=False)
print(scores)
# 计算每个同学的总分并保存为list_scorescmpt2.xlsx
scores['总分'] = scores.sum(axis=1) - scores['学号'] - scores['姓名']
scores.to_excel('list_scorescmpt2.xlsx', index=False)
```
以上程序实现了你的三个要求,具体实现过程如下:
1. 第一行代码导入了pandas库,用于读取和处理Excel文件。
2. 第3行代码读取了list_scores.xlsx文件的内容并将其存储在名为`scores`的DataFrame对象中。
3. 第4行代码打印了`scores`对象,以显示文件内容。
4. 第7行代码计算了每次作业的百分制分数,并将其存储回`scores`对象中的相应列中。
5. 第10行代码使用`to_excel`方法将修改后的DataFrame对象保存为list_scorescmpt1.xlsx文件,并将`index`参数设置为`False`以避免写入DataFrame对象的行索引。
6. 第11行代码打印了修改后的`scores`对象,以显示每次作业的百分制分数。
7. 第14行代码计算了每个同学的总分,并将其存储在名为`总分`的新列中。
8. 第15行代码使用`to_excel`方法将包含总分的修改后的DataFrame对象保存为list_scorescmpt2.xlsx文件,并将`index`参数设置为`False`以避免写入DataFrame对象的行索引。
希望这个程序可以帮到你!