pythong中用pandas回答。首先,输入一个整数N,表示总计N学生。 然后输入N行,每行包含学生的姓名、班级、考试1分数和考试2分数。 计算每个班级每次考试的平均分数和总分,并按班级名称对结果进行排序,然后再将其输出到控制台。输出包括类、score1_mean、score1_sum、score2_mean score2_sum。
时间: 2024-02-10 14:10:59 浏览: 53
好的,以下是用pandas回答您的问题:
```python
import pandas as pd
# 输入学生信息,存储到DataFrame中
N = int(input())
data = []
for i in range(N):
name, cls, score1, score2 = input().split()
score1 = int(score1)
score2 = int(score2)
data.append([name, cls, score1, score2])
df = pd.DataFrame(data, columns=['name', 'class', 'score1', 'score2'])
# 按班级分组,计算平均分和总分
grouped = df.groupby('class').agg({'score1': ['mean', 'sum'], 'score2': ['mean', 'sum']})
# 对结果按班级名称排序
grouped = grouped.sort_values(by='class')
# 输出结果
print(grouped.to_string())
```
示例输入:
```
6
Alice 1 80 90
Bob 2 85 95
Charlie 1 90 95
David 3 70 80
Eva 2 80 85
Frank 3 75 85
```
示例输出:
```
score1 score2
mean sum mean sum
class
1 85.000000 170 92.5 185
2 82.500000 165 90.0 180
3 72.500000 145 82.5 165
```
阅读全文