在 Pandas 中,groupby()
函数用于按一个或多个列对 DataFrame 进行分组。当使用多个列进行分组时,可以使用元组 (col1, col2, ...)
的形式来指定多个列。这样做可以将多个列的值组合在一起,形成唯一的组合,然后可以对这些组合进行聚合操作。
假设有一个 DataFrame df
,其包含三列数据 A
, B
, C
,如下所示:
A B C
0 1 a 10
1 1 a 20
2 1 b 30
3 2 a 40
4 2 b 50
如果要对 A
和 B
列进行分组,并计算每组的 C
列的平均值,可以使用以下代码:
grouped = df.groupby(('A', 'B'))['C'].mean()
print(grouped)
执行结果为:
A B
1 a 15.0
b 30.0
2 a 40.0
b 50.0
Name: C, dtype: float64
注意,这里的 ('A', 'B')
是一个元组,表示对 A
和 B
列进行分组。在聚合函数中,可以通过 ['C']
来指定要聚合的列。
除了使用元组进行多列分组外,还可以使用列表实现类似的功能。例如:
grouped = df.groupby(['A', 'B'])['C'].mean()
print(grouped)
输出结果与之前相同。
总之,在 Pandas 中,使用元组或列表形式传递多个列名给 groupby()
函数即可实现多列分组。
领取专属 10元无门槛券
手把手带您无忧上云