利用DataFrame生成五名同学,三科(语文,数学,英语)成绩的数据框,并完成如下操作: 1) 按语文成绩进行排序 2) 计算每位同学的平均分,并生成新的一列插入DataFrame中 3)将该表按CSV文件格式存入本地磁盘中
时间: 2024-02-17 18:03:47 浏览: 79
有5个学生,么个学生有三门课成绩,从键盘键入以上数据,存放在文件中
5星 · 资源好评率100%
好的,我来帮你解决这个问题。首先,我们需要导入pandas库来生成DataFrame和进行相关的操作。请确认你已经安装了pandas库。
以下是代码实现:
```python
import pandas as pd
import numpy as np
# 生成随机的五名同学的三科成绩
data = {"语文": np.random.randint(0, 101, 5),
"数学": np.random.randint(0, 101, 5),
"英语": np.random.randint(0, 101, 5)}
# 创建DataFrame
df = pd.DataFrame(data, index=["同学1", "同学2", "同学3", "同学4", "同学5"])
print("生成的DataFrame为:\n", df)
# 按语文成绩进行排序
df.sort_values(by="语文", inplace=True)
print("按语文成绩排序后的DataFrame为:\n", df)
# 计算每位同学的平均分,并生成新的一列插入DataFrame中
df["平均分"] = df.mean(axis=1)
print("添加平均分后的DataFrame为:\n", df)
# 将该表按CSV文件格式存入本地磁盘中
df.to_csv("students_scores.csv", index=True, header=True)
print("已将该表按CSV文件格式存入本地磁盘中!")
```
运行以上代码,你将会得到如下输出:
```
生成的DataFrame为:
语文 数学 英语
同学1 48 45 50
同学2 60 99 85
同学3 16 57 26
同学4 86 87 80
同学5 23 40 44
按语文成绩排序后的DataFrame为:
语文 数学 英语
同学3 16 57 26
同学5 23 40 44
同学1 48 45 50
同学2 60 99 85
同学4 86 87 80
添加平均分后的DataFrame为:
语文 数学 英语 平均分
同学3 16 57 26 33.000000
同学5 23 40 44 35.666667
同学1 48 45 50 47.666667
同学2 60 99 85 81.333333
同学4 86 87 80 84.333333
已将该表按CSV文件格式存入本地磁盘中!
```
同时,你也会在本地磁盘中看到一个名为"students_scores.csv"的文件,它包含了生成的DataFrame的内容。
阅读全文