다음을 통해 공유


slice

입력 배열 열을 시작 인덱스에서 특정 길이로 조각화하여 새 배열 열을 반환합니다. 인덱스는 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 결과 배열의 요소 수를 나타내는 조각의 길이입니다.

Returns

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: 시작 및 길이에 대한 열 입력이 있는 Slice 함수입니다.

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