다음을 통해 공유


배열

입력 열 또는 열 이름에서 새 배열 열을 만듭니다.

문법

from pyspark.sql import functions as sf

sf.array(*cols)

매개 변수

매개 변수 유형 Description
cols pyspark.sql.Column 또는 str 열 이름 또는 데이터 형식이 같은 Column 개체입니다.

Returns

pyspark.sql.Column: 각 값이 입력 열의 해당 값을 포함하는 배열인 배열 형식의 새 열입니다.

예시

예제 1: 열 이름을 가진 배열 함수의 기본 사용.

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", "doctor"), ("Bob", "engineer")],
    ("name", "occupation"))
df.select(sf.array('name', 'occupation')).show()
+-----------------------+
|array(name, occupation)|
+-----------------------+
|        [Alice, doctor]|
|        [Bob, engineer]|
+-----------------------+

예제 2: Column 개체를 사용하여 배열 함수를 사용합니다.

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", "doctor"), ("Bob", "engineer")],
    ("name", "occupation"))
df.select(sf.array(df.name, df.occupation)).show()
+-----------------------+
|array(name, occupation)|
+-----------------------+
|        [Alice, doctor]|
|        [Bob, engineer]|
+-----------------------+

예제 3: 단일 인수를 열 이름 목록으로 사용합니다.

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", "doctor"), ("Bob", "engineer")],
    ("name", "occupation"))
df.select(sf.array(['name', 'occupation'])).show()
+-----------------------+
|array(name, occupation)|
+-----------------------+
|        [Alice, doctor]|
|        [Bob, engineer]|
+-----------------------+

예제 4: 서로 다른 형식의 열이 있는 배열 함수를 사용합니다.

from pyspark.sql import functions as sf
df = spark.createDataFrame(
    [("Alice", 2, 22.2), ("Bob", 5, 36.1)],
    ("name", "age", "weight"))
df.select(sf.array(['age', 'weight'])).show()
+------------------+
|array(age, weight)|
+------------------+
|       [2.0, 22.2]|
|       [5.0, 36.1]|
+------------------+

예제 5: null 값을 포함하는 열이 있는 배열 함수입니다.

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", None), ("Bob", "engineer")],
    ("name", "occupation"))
df.select(sf.array('name', 'occupation')).show()
+-----------------------+
|array(name, occupation)|
+-----------------------+
|          [Alice, NULL]|
|        [Bob, engineer]|
+-----------------------+