sloučit

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