Condividi tramite


array_contains

Restituisce un valore booleano che indica se la matrice contiene il valore specificato. Restituisce Null se la matrice è null, true se la matrice contiene il valore specificato e false in caso contrario.

Sintassi

from pyspark.sql import functions as sf

sf.array_contains(col, value)

Parametri

Parametro TIPO Description
col pyspark.sql.Column o str Colonna di destinazione contenente le matrici.
value Qualunque Valore o colonna da verificare nella matrice.

Restituzioni

pyspark.sql.Column: nuova colonna di tipo booleano, in cui ogni valore indica se la matrice corrispondente dalla colonna di input contiene il valore specificato.

Esempi

Esempio 1: Utilizzo di base della funzione array_contains.

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|
+-----------------------+

Esempio 2: Utilizzo della funzione array_contains con una colonna.

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|
+--------------------------+

Esempio 3: Tentare di usare array_contains funzione con una matrice Null.

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|
+-----------------------+

Esempio 4: Utilizzo di array_contains con una colonna di matrice contenente valori Null.

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|
+-----------------------+