メインコンテンツまでスキップ

配列の重複

入力配列に共通の null 以外の要素があるかどうかを示すブール列を返します。 共通する要素がある場合は true を返し、配列に共通する要素が含まれていないが空ではなく、配列の少なくとも 1 つに null 要素が含まれている場合は null を返し、それ以外の場合は false を返します。

構文

Python
from pyspark.sql import functions as sf

sf.arrays_overlap(a1, a2)

パラメーター

パラメーター

Type

説明

a1

pyspark.sql.Column または文字列

最初の配列を含む列の名前。

a2

pyspark.sql.Column または文字列

2 番目の配列を含む列の名前。

戻り値

pyspark.sql.Column: Boolean型の新しい列。各値は、入力列の対応する配列に共通要素が含まれているかどうかを示します。

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

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b"], ["b", "c"]), (["a"], ["b", "c"])], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
Output
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| true|
| false|
+--------------------+

例 2 : null 要素を含む配列での arrays_overlap 関数の使用。

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None], ["b", None]), (["a"], ["b", "c"])], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
Output
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| NULL|
| false|
+--------------------+

例 3 : null の配列での arrays_overlap 関数の使用。

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(None, ["b", "c"]), (["a"], None)], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
Output
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| NULL|
| NULL|
+--------------------+

例 4 : 同一要素を持つ配列での arrays_overlap の使用。

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b"], ["a", "b"]), (["a"], ["a"])], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
Output
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| true|
| true|
+--------------------+