次の方法で共有


array_join

区切り記号を使用して入力配列列の要素を連結して、文字列列を返します。 配列内の null 値は、null_replacement引数を使用して指定した文字列に置き換えることができます。 null_replacementが設定されていない場合、null 値は無視されます。

構文

from pyspark.sql import functions as sf

sf.array_join(col, delimiter, null_replacement=None)

パラメーター

パラメーター タイプ Description
col pyspark.sql.Column または str 結合する配列を含む入力列。
delimiter str 配列要素を結合するときに区切り記号として使用される文字列。
null_replacement str、省略可能 配列内の null 値を置き換える文字列。 設定しない場合、null 値は無視されます。

返品ポリシー

pyspark.sql.Column: 文字列型の新しい列。各値は、入力列から対応する配列を結合した結果です。

例示

例 1: array_join関数の基本的な使用方法。

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],), (["a", "b"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
|              a,b,c|
|                a,b|
+-------------------+

例 2: null_replacement引数を使用array_join関数の使用法。

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",", "NULL")).show()
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
|                 a,NULL,c|
+-------------------------+

例 3: 引数を指定せずにarray_join関数null_replacement使用する。

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
|                a,c|
+-------------------+

例 4: null の配列array_join関数の使用法。

from pyspark.sql import functions as sf
from pyspark.sql.types import StructType, StructField, ArrayType, StringType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([(None,)], schema)
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
|               NULL|
+-------------------+

例 5: null 値のみを含む配列array_join関数の使用法。

from pyspark.sql import functions as sf
from pyspark.sql.types import StructType, StructField, ArrayType, StringType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([([None, None],)], schema)
df.select(sf.array_join(df.data, ",", "NULL")).show()
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
|                NULL,NULL|
+-------------------------+