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

配列に含まれる

配列に指定された値が含まれているかどうかを示すブール値を返します。 配列が null の場合は null を返し、配列に指定された値が含まれている場合は true を返し、それ以外の場合は false を返します。

構文

Python
from pyspark.sql import functions as sf

sf.array_contains(col, value)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

配列を含むターゲットカラム。

value

すべて

配列内で確認する値または列。

戻り値

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

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

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

例 2 : 列での array_contains 関数の使用。

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], "c"),
(["c", "d", "e"], "d"),
(["e", "a", "c"], "b")], ["data", "item"])
df.select(sf.array_contains(df.data, sf.col("item"))).show()
Output
+--------------------------+
|array_contains(data, item)|
+--------------------------+
| true|
| true|
| false|
+--------------------------+

例 3 : null 配列で array_contains 関数を使用しようとします。

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

例 4 : null 値を含む配列列での array_contains の使用。

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