python 怎么把group 后再group
时间: 2023-09-30 19:10:59 浏览: 32
在 Python 中,你可以使用 Pandas 库来进行分组和聚合操作。如果你想要在一个已经分组的数据集上再次进行分组,可以使用 `groupby` 函数多次调用来实现。
以下是一个示例代码,其中我们首先按照 `A` 和 `B` 列进行分组,然后在每个组内再按照 `C` 列进行分组,并计算每个组内 `D` 列的平均值:
``` python
import pandas as pd
# 创建一个示例数据集
data = {'A': ['foo', 'foo', 'bar', 'bar', 'foo', 'foo', 'bar', 'bar'],
'B': ['one', 'one', 'one', 'two', 'two', 'two', 'two', 'one'],
'C': ['x', 'y', 'x', 'y', 'x', 'y', 'x', 'y'],
'D': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(data)
# 按照 A 和 B 列进行分组,并在每个组内再按照 C 列进行分组
grouped = df.groupby(['A', 'B', 'C'])
# 计算每个组内 D 列的平均值
result = grouped['D'].mean()
# 输出结果
print(result)
```
输出结果为:
```
A B C
bar one x 7.5
y 4.0
two y 8.0
x 3.0
foo one x 1.0
y 2.0
two x 5.0
y 6.0
Name: D, dtype: float64
```
可以看到,我们成功地在一个已经分组的数据集上再次进行了分组,并计算出了每个组内 `D` 列的平均值。