重複するオブジェクトの一覧を返します。
構文
from pyspark.sql import functions as sf
sf.array_agg(col)
パラメーター
| パラメーター | タイプ | Description |
|---|---|---|
col |
pyspark.sql.Column または列名 |
計算対象の列。 |
返品ポリシー
pyspark.sql.Column: 重複するオブジェクトの一覧。
例示
例 1: int 列で array_agg 関数を使用する
from pyspark.sql import functions as sf
df = spark.createDataFrame([[1],[1],[2]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show()
+-----------+
|sorted_list|
+-----------+
| [1, 1, 2]|
+-----------+
例 2: 文字列列array_agg関数を使用する
from pyspark.sql import functions as sf
df = spark.createDataFrame([["apple"],["apple"],["banana"]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show(truncate=False)
+----------------------+
|sorted_list |
+----------------------+
|[apple, apple, banana]|
+----------------------+
例 3: null 値を持つ列array_agg関数を使用する
from pyspark.sql import functions as sf
df = spark.createDataFrame([[1],[None],[2]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show()
+-----------+
|sorted_list|
+-----------+
| [1, 2]|
+-----------+
例 4: 異なるデータ型の列で array_agg 関数を使用する
from pyspark.sql import functions as sf
df = spark.createDataFrame([[1],["apple"],[2]], ["c"])
df.agg(sf.sort_array(sf.array_agg('c')).alias('sorted_list')).show()
+-------------+
| sorted_list|
+-------------+
|[1, 2, apple]|
+-------------+