Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает один массив из массива массивов. Если структура вложенных массивов глубже двух уровней, удаляется только один уровень вложения.
Синтаксис
from pyspark.sql import functions as sf
sf.flatten(col)
Параметры
| Параметр | Тип | Description |
|---|---|---|
col |
pyspark.sql.Column или str |
Имя столбца или выражения, которые должны быть проложены. |
Возвраты
pyspark.sql.Column: новый столбец, содержащий плоский массив.
Примеры
Пример 1. Выравнивание простого вложенного массива
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]|
+------------------+
Пример 2. Выравнивание массива со значениями 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|
+-------------+
Пример 3. Выравнивание массива с более чем двумя уровнями вложения
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]]|
+--------------------------------+
Пример 4. Выравнивание массива с смешанными типами
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]|
+------------------+