Aracılığıyla paylaş


Düzleştir

Diziler dizisinden tek bir dizi oluşturur. İç içe dizilerin yapısı iki düzeyden daha derinse, yalnızca bir iç içe yerleştirme düzeyi kaldırılır.

Sözdizimi

from pyspark.sql import functions as sf

sf.flatten(col)

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya str Düzlenecek sütunun veya ifadenin adı.

İade

pyspark.sql.Column: Düzleştirilmiş diziyi içeren yeni bir sütun.

Örnekler

Örnek 1: Basit bir iç içe diziyi düzleştirme

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

Örnek 2: Bir diziyi null değerlerle düzleştirme

from pyspark.sql import functions as sf
df = spark.createDataFrame([([None, [4, 5]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+-------------+
|flatten(data)|
+-------------+
|         NULL|
+-------------+

Örnek 3: bir diziyi ikiden fazla iç içe yerleştirme düzeyiyle düzleştirme

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

Örnek 4: Bir diziyi karışık türlerle düzleştirme

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