groupby跟多个字段
时间: 2023-08-22 14:05:35 浏览: 42
groupby可以用于根据一个或多个字段对数据进行分组。如果你想根据多个字段进行分组,你可以在groupby函数中传入一个包含这些字段的列表。
例如,假设你有一个包含学生信息的数据集,其中包括学生的姓名、年级和班级。你想根据年级和班级来分组学生。你可以使用以下代码:
```python
import pandas as pd
# 创建一个示例数据集
data = {
'姓名': ['张三', '李四', '王五', '赵六', '钱七'],
'年级': ['一年级', '二年级', '一年级', '三年级', '二年级'],
'班级': ['1班', '2班', '1班', '3班', '2班'],
'成绩': [90, 85, 95, 80, 88]
}
df = pd.DataFrame(data)
# 根据年级和班级分组
grouped = df.groupby(['年级', '班级'])
# 对分组后的数据进行聚合操作
result = grouped.mean()
print(result)
```
运行以上代码,你将得到按年级和班级分组后的平均成绩。输出结果如下:
```
成绩
年级 班级
一年级 1班 92.5
二年级 2班 86.5
三年级 3班 80.0
```
在这个例子中,我们使用`groupby(['年级', '班级'])`将数据按年级和班级进行分组,并使用`mean()`函数计算每个组的平均成绩。你可以根据需要选择不同的聚合函数,如`sum()`、`count()`等。