Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает новый столбец массива путем среза столбца входного массива из начального индекса в определенную длину. Индексы начинаются с 1 и могут быть отрицательными для индексирования с конца массива. Длина указывает количество элементов в результирующем массиве.
Синтаксис
from pyspark.sql import functions as sf
sf.slice(x, start, length)
Параметры
| Параметр | Тип | Description |
|---|---|---|
x |
pyspark.sql.Column или str |
Входной столбец массива или имя столбца для среза. |
start |
pyspark.sql.Column, str или int |
Начальный индекс операции среза. Если отрицательный, запускает индекс из конца массива. |
length |
pyspark.sql.Column, str или int |
Длина среза, представляющая количество элементов в результирующем массиве. |
Возвраты
pyspark.sql.Column: новый объект Column типа массива, где каждое значение является срезом соответствующего списка из входного столбца.
Примеры
Пример 1. Базовое использование функции среза.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],), ([4, 5],)], ['x'])
df.select(sf.slice(df.x, 2, 2)).show()
+--------------+
|slice(x, 2, 2)|
+--------------+
| [2, 3]|
| [5]|
+--------------+
Пример 2. Срез с отрицательным индексом начала.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3],), ([4, 5],)], ['x'])
df.select(sf.slice(df.x, -1, 1)).show()
+---------------+
|slice(x, -1, 1)|
+---------------+
| [3]|
| [5]|
+---------------+
Пример 3. Функция среза с входными данными столбцов для начала и длины.
from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3], 2, 2), ([4, 5], 1, 3)], ['x', 'start', 'length'])
df.select(sf.slice(df.x, df.start, df.length)).show()
+-----------------------+
|slice(x, start, length)|
+-----------------------+
| [2, 3]|
| [4, 5]|
+-----------------------+