Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vytvoří jedno pole z pole polí. Pokud je struktura vnořených polí hlubší než dvě úrovně, odebere se pouze jedna úroveň vnoření.
Syntaxe
from pyspark.sql import functions as sf
sf.flatten(col)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo str |
Název sloupce nebo výrazu, který se má zploštět. |
Návraty
pyspark.sql.Column: Nový sloupec, který obsahuje zploštěnou matici.
Examples
Příklad 1: Zploštění jednoduchého vnořeného pole
from pyspark.sql import functions as sf
df = spark.createDataFrame([([[1, 2, 3], [4, 5], [6]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+------------------+
| flatten(data)|
+------------------+
|[1, 2, 3, 4, 5, 6]|
+------------------+
Příklad 2: Zploštění pole s hodnotami null
from pyspark.sql import functions as sf
df = spark.createDataFrame([([None, [4, 5]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+-------------+
|flatten(data)|
+-------------+
| NULL|
+-------------+
Příklad 3: Zploštění pole s více než dvěma úrovněmi vnoření
from pyspark.sql import functions as sf
df = spark.createDataFrame([([[[1, 2], [3, 4]], [[5, 6], [7, 8]]],)], ['data'])
df.select(sf.flatten(df.data)).show(truncate=False)
+--------------------------------+
|flatten(data) |
+--------------------------------+
|[[1, 2], [3, 4], [5, 6], [7, 8]]|
+--------------------------------+
Příklad 4: Zploštění pole se smíšenými typy
from pyspark.sql import functions as sf
df = spark.createDataFrame([([['a', 'b', 'c'], [1, 2, 3]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+------------------+
| flatten(data)|
+------------------+
|[a, b, c, 1, 2, 3]|
+------------------+