ロールアップ
指定された列を使用して、現在のDataFrameの多次元ロールアップを作成し、それらの列に対して集計処理を可能にします。
構文
rollup(*cols: "ColumnOrNameOrOrdinal")
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| リスト、文字列、整数、または列 | 集計対象となる列。各要素は、列名(文字列)、式(Column)、列の順序番号(整数、1から始まる)、またはそれらのリストである必要があります。 |
戻り値
GroupedData指定された列に基づいて集計されたデータ。
注意
列の序数は 1 から始まりますが、これは 0 から始まる__getitem__とは異なります。
例
Python
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|
# +-----+----+-----+