Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt ein neues Array zurück, das die Elemente enthält, die in Col1 vorhanden sind, jedoch nicht in Col2, ohne Duplikate.
Syntax
from pyspark.sql import functions as sf
sf.array_except(col1, col2)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
col1 |
pyspark.sql.Column oder str |
Name der Spalte, die das erste Array enthält. |
col2 |
pyspark.sql.Column oder str |
Name der Spalte, die das zweite Array enthält. |
Rückkehr
pyspark.sql.Column: Ein neues Array, das die Elemente enthält, die in Col1, aber nicht in Col2 vorhanden sind.
Examples
Beispiel 1: Grundlegende Verwendung
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["b", "a", "c"], c2=["c", "d", "a", "f"])])
df.select(sf.array_except(df.c1, df.c2)).show()
+--------------------+
|array_except(c1, c2)|
+--------------------+
| [b]|
+--------------------+
Beispiel 2: Außer ohne allgemeine Elemente
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["b", "a", "c"], c2=["d", "e", "f"])])
df.select(sf.sort_array(sf.array_except(df.c1, df.c2))).show()
+--------------------------------------+
|sort_array(array_except(c1, c2), true)|
+--------------------------------------+
| [a, b, c]|
+--------------------------------------+
Beispiel 3: Mit Ausnahme aller allgemeinen Elemente
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["a", "b", "c"], c2=["a", "b", "c"])])
df.select(sf.array_except(df.c1, df.c2)).show()
+--------------------+
|array_except(c1, c2)|
+--------------------+
| []|
+--------------------+
Beispiel 4: Mit Ausnahme von NULL-Werten
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["a", "b", None], c2=["a", None, "c"])])
df.select(sf.array_except(df.c1, df.c2)).show()
+--------------------+
|array_except(c1, c2)|
+--------------------+
| [b]|
+--------------------+
Beispiel 5: Mit Ausnahme leerer Arrays
from pyspark.sql import Row, functions as sf
from pyspark.sql.types import ArrayType, StringType, StructField, StructType
data = [Row(c1=[], c2=["a", "b", "c"])]
schema = StructType([
StructField("c1", ArrayType(StringType()), True),
StructField("c2", ArrayType(StringType()), True)
])
df = spark.createDataFrame(data, schema)
df.select(sf.array_except(df.c1, df.c2)).show()
+--------------------+
|array_except(c1, c2)|
+--------------------+
| []|
+--------------------+