指定した列を使用して現在の DataFrame の多次元キューブを作成し、それらに対して集計を実行できるようにします。
構文
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|
# +-----+----+-----+