Udostępnij przez


spłaszczenie

Tworzy pojedynczą tablicę z tablicy tablic. Jeśli struktura zagnieżdżonych tablic jest głębsza niż dwa poziomy, usuwa się tylko jeden poziom zagnieżdżania.

Składnia

from pyspark.sql import functions as sf

sf.flatten(col)

Parametry

Parameter Typ Description
col pyspark.sql.Column lub str Nazwa kolumny lub wyrażenia, które mają być spłaszczone.

Zwraca

pyspark.sql.Column: nowa kolumna zawierająca spłaszczone tablice.

Przykłady

Przykład 1. Spłaszczanie prostej zagnieżdżonej tablicy

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

Przykład 2. Spłaszczanie tablicy z wartościami 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|
+-------------+

Przykład 3. Spłaszczanie tablicy z więcej niż dwoma poziomami zagnieżdżania

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

Przykład 4. Spłaszczanie tablicy z typami mieszanymi

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