array_contains

Dizinin verilen değeri içerip içermediğini gösteren bir boole döndürür. Dizi null ise null, dizi verilen değeri içeriyorsa true, aksi takdirde false döndürür.

Sözdizimi

from pyspark.sql import functions as sf

sf.array_contains(col, value)

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya str Dizileri içeren hedef sütun.
value Herhangi biri Dizide denetlenecek değer veya sütun.

İade

pyspark.sql.Column: Her değerin giriş sütunundaki karşılık gelen dizinin belirtilen değeri içerip içermediğini gösterdiği yeni Boole türünde bir Sütun.

Örnekler

Örnek 1: array_contains işlevinin temel kullanımı.

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

Örnek 2: Sütunlu array_contains işlevinin kullanımı.

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()
+--------------------------+
|array_contains(data, item)|
+--------------------------+
|                      true|
|                      true|
|                     false|
+--------------------------+

Örnek 3: array_contains işlevini null diziyle kullanmayı deneme.

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

Örnek 4: Null değerler içeren bir dizi sütunuyla array_contains kullanımı.

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