pandas 求每名同学的总成绩,及各科的平均成绩代码
时间: 2024-12-20 10:25:36 浏览: 12
在Python的pandas库中,你可以使用`groupby()`函数来对数据按照特定列分组,然后计算每组的总成绩和平均成绩。假设你有一个名为df的DataFrame,其中包含“学生姓名”(例如student_name)和“各科成绩”(如math_score, english_score等列),下面是一个示例代码:
```python
import pandas as pd
# 假设df是一个DataFrame,有students和scores两个列
df = pd.DataFrame({
'student_name': ['张三', '李四', '张三', '王五', '李四', '王五'],
'math_score': [85, 90, 78, 92, 88, 86],
'english_score': [92, 88, 94, 85, 89, 90]
})
# 首先按学生姓名分组
grouped = df.groupby('student_name')
# 计算每个学生的总成绩和平均成绩
total_scores = grouped['math_score'].sum() + grouped['english_score'].sum()
average_scores = grouped[['math_score', 'english_score']].mean()
# 结果会是一个新的DataFrame,显示每个学生的总成绩和平均成绩
print("总成绩:", total_scores)
print("\n平均成绩:", average_scores)
阅读全文