如何在PySpark Pandas(Koala)中按索引层级执行GroupBy操作?
在PySpark Pandas(Koala)中实现按多层索引层级分组求和
你可以直接使用与Pandas兼容的语法完成需求,Koala(PySpark Pandas)支持通过索引层级位置或名称进行分组操作,具体实现如下:
1. 构造示例DataFrame
import pyspark.pandas as ps # 构建带多层索引的目标DataFrame data = { 'id': ['a1', 'a1', 'b1'], 'name': ['a', 'b', 'c'], 'c1': [1, 2, 3], 'c2': [1, 2, 3] } df = ps.DataFrame(data).set_index(['id', 'name'])
2. 执行分组求和操作
方式一:按索引层级位置(对应Pandas的level=1)
直接使用level参数指定索引层级位置,写法和Pandas完全一致:
result = df.groupby(level=1).sum()
方式二:按索引层级名称(可读性更强)
由于第二层索引的名称是name,也可以直接指定索引名称分组:
result = df.groupby('name').sum()
输出结果
两种方式会得到完全相同的结果:
c1 c2 name a 1 1 b 2 2 c 3 3
内容的提问来源于stack exchange,提问作者Selva
相关产品推荐
相关产品推荐

