Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Returnerar en ny matris som innehåller skärningspunkten mellan elementen i col1 och col2, utan dubbletter.
Syntax
from pyspark.sql import functions as sf
sf.array_intersect(col1, col2)
Parameterar
| Parameter | Typ | Description |
|---|---|---|
col1 |
pyspark.sql.Column eller str |
Namnet på kolumnen som innehåller den första matrisen. |
col2 |
pyspark.sql.Column eller str |
Namnet på kolumnen som innehåller den andra matrisen. |
Retur
pyspark.sql.Column: En ny matris som innehåller skärningspunkten mellan elementen i col1 och col2.
Examples
Exempel 1: Grundläggande användning
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["b", "a", "c"], c2=["c", "d", "a", "f"])])
df.select(sf.sort_array(sf.array_intersect(df.c1, df.c2))).show()
+-----------------------------------------+
|sort_array(array_intersect(c1, c2), true)|
+-----------------------------------------+
| [a, c]|
+-----------------------------------------+
Exempel 2: Skärningspunkt utan vanliga element
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["b", "a", "c"], c2=["d", "e", "f"])])
df.select(sf.array_intersect(df.c1, df.c2)).show()
+-----------------------+
|array_intersect(c1, c2)|
+-----------------------+
| []|
+-----------------------+
Exempel 3: Skärningspunkt med alla vanliga element
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["a", "b", "c"], c2=["a", "b", "c"])])
df.select(sf.sort_array(sf.array_intersect(df.c1, df.c2))).show()
+-----------------------------------------+
|sort_array(array_intersect(c1, c2), true)|
+-----------------------------------------+
| [a, b, c]|
+-----------------------------------------+
Exempel 4: Skärningspunkt med null-värden
from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["a", "b", None], c2=["a", None, "c"])])
df.select(sf.sort_array(sf.array_intersect(df.c1, df.c2))).show()
+-----------------------------------------+
|sort_array(array_intersect(c1, c2), true)|
+-----------------------------------------+
| [NULL, a]|
+-----------------------------------------+
Exempel 5: Skärningspunkt med tomma matriser
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_intersect(df.c1, df.c2)).show()
+-----------------------+
|array_intersect(c1, c2)|
+-----------------------+
| []|
+-----------------------+