Unpivot

DataFrame을 와이드 형식에서 긴 형식으로 피벗 해제하고 선택적으로 식별자 열을 설정합니다. 이는 역방향이 groupBy(...).pivot(...).agg(...)될 수 없는 집계를 제외하고 반대입니다.

Databricks Runtime 11.1에 추가됨

문법

unpivot(ids: Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]], values: Optional[Union["ColumnOrName", List["ColumnOrName"], Tuple["ColumnOrName", ...]]], variableColumnName: str, valueColumnName: str)

매개 변수

매개 변수 유형 설명
ids str, Column, tuple, list 식별자로 사용할 열입니다. 단일 열 또는 열 이름 또는 여러 열에 대한 목록 또는 튜플일 수 있습니다.
values str, Column, tuple, list, optional 피벗 해제할 열입니다. 단일 열 또는 열 이름 또는 여러 열에 대한 목록 또는 튜플일 수 있습니다. 지정한 경우 비어 있으면 안 됩니다. 지정하지 않으면 로 설정 ids되지 않은 모든 열을 사용합니다.
variableColumnName str 변수 열의 이름입니다.
valueColumnName str 값 열의 이름입니다.

Returns

DataFrame: 피벗 해제된 데이터 프레임입니다.

Notes

Spark Connect를 지원합니다.

예제

df = spark.createDataFrame(
    [(1, 11, 1.1), (2, 12, 1.2)],
    ["id", "int", "double"],
)
df.show()
# +---+---+------+
# | id|int|double|
# +---+---+------+
# |  1| 11|   1.1|
# |  2| 12|   1.2|
# +---+---+------+

from pyspark.sql import functions as sf
df.unpivot(
    "id", ["int", "double"], "var", "val"
).sort("id", sf.desc("var")).show()
# +---+------+----+
# | id|   var| val|
# +---+------+----+
# |  1|   int|11.0|
# |  1|double| 1.1|
# |  2|   int|12.0|
# |  2|double| 1.2|
# +---+------+----+