汇总

使用指定的列为当前数据帧创建多维汇总,从而允许对其进行聚合。

Syntax

rollup(*cols: "ColumnOrNameOrOrdinal")

参数

参数 类型 说明
cols list、str、int 或 Column 要汇总的列。 每个元素应为列名(字符串)或表达式(Column)或列序号(int,基于 1)或列列表。

退货

GroupedData:基于指定列汇总数据。

备注

列序号从 1 开始,这不同于从 0 开始 __getitem__的 。

示例

df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], schema=["name", "age"])

df.rollup("name").count().orderBy("name").show()
# +-----+-----+
# | name|count|
# +-----+-----+
# | NULL|    2|
# |Alice|    1|
# |  Bob|    1|
# +-----+-----+

df.rollup("name", df.age).count().orderBy("name", "age").show()
# +-----+----+-----+
# | name| age|count|
# +-----+----+-----+
# | NULL|NULL|    2|
# |Alice|NULL|    1|
# |Alice|   2|    1|
# |  Bob|NULL|    1|
# |  Bob|   5|    1|
# +-----+----+-----+