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.
Tar bort dubblettvärden från matrisen.
Syntax
from pyspark.sql import functions as sf
sf.array_distinct(col)
Parameterar
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column eller str |
Namn på kolumn eller uttryck |
Retur
pyspark.sql.Column: En ny kolumn som är en matris med unika värden från indatakolumnen.
Examples
Exempel 1: Ta bort dubblettvärden från en enkel matris
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3, 2],)], ['data'])
df.select(sf.array_distinct(df.data)).show()
+--------------------+
|array_distinct(data)|
+--------------------+
| [1, 2, 3]|
+--------------------+
Exempel 2: Ta bort duplicerade värden från flera matriser
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3, 2],), ([4, 5, 5, 4],)], ['data'])
df.select(sf.array_distinct(df.data)).show()
+--------------------+
|array_distinct(data)|
+--------------------+
| [1, 2, 3]|
| [4, 5]|
+--------------------+
Exempel 3: Ta bort dubblettvärden från en matris med alla identiska värden
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 1, 1],)], ['data'])
df.select(sf.array_distinct(df.data)).show()
+--------------------+
|array_distinct(data)|
+--------------------+
| [1]|
+--------------------+
Exempel 4: Ta bort duplicerade värden från en matris utan duplicerade värden
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],)], ['data'])
df.select(sf.array_distinct(df.data)).show()
+--------------------+
|array_distinct(data)|
+--------------------+
| [1, 2, 3]|
+--------------------+
Exempel 5: Ta bort duplicerade värden från en tom matris
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, IntegerType, StructType, StructField
schema = StructType([
StructField("data", ArrayType(IntegerType()), True)
])
df = spark.createDataFrame([([],)], schema)
df.select(sf.array_distinct(df.data)).show()
+--------------------+
|array_distinct(data)|
+--------------------+
| []|
+--------------------+