使用指定的列为当前数据帧创建多维多维多维数据集,从而允许对其执行聚合。
Syntax
cube(*cols: "ColumnOrName")
参数
| 参数 | 类型 | 说明 |
|---|---|---|
cols |
list、str、int 或 Column | 要多维数据集依据的列。 每个元素应为列名(字符串)或表达式(Column)或列序号(int,基于 1)或列列表。 |
退货
GroupedData:基于指定列的数据多维数据集。
备注
列序号从 1 开始,这不同于从 0 开始 __getitem__的 。
示例
df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], schema=["name", "age"])
df.cube("name").count().orderBy("name").show()
# +-----+-----+
# | name|count|
# +-----+-----+
# | NULL| 2|
# |Alice| 1|
# | Bob| 1|
# +-----+-----+
df.cube("name", df.age).count().orderBy("name", "age").show()
# +-----+----+-----+
# | name| age|count|
# +-----+----+-----+
# | NULL|NULL| 2|
# | NULL| 2| 1|
# | NULL| 5| 1|
# |Alice|NULL| 1|
# |Alice| 2| 1|
# | Bob|NULL| 1|
# | Bob| 5| 1|
# +-----+----+-----+