마지막

그룹의 마지막 값을 반환합니다. 함수는 기본적으로 표시되는 마지막 값을 반환합니다. ignoreNull이 true로 설정된 경우 표시되는 마지막 null이 아닌 값을 반환합니다. 모든 값이 null이면 null이 반환됩니다. 함수의 결과는 순서 섞기 후 비결정적일 수 있는 행의 순서에 따라 달라지므로 함수는 비결정적입니다.

문법

from pyspark.sql import functions as sf

sf.last(col, ignorenulls=False)

매개 변수

매개 변수 유형 Description
col pyspark.sql.Column 또는 열 이름 마지막 값을 가져올 열입니다.
ignorenulls bool 마지막 값이 null이면 null이 아닌 값을 찾습니다. 기본적으로 False입니다.

Returns

pyspark.sql.Column: 그룹의 마지막 값입니다.

예시

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5), ("Alice", None)], ("name", "age"))
df = df.orderBy(df.age.desc())
df.groupby("name").agg(sf.last("age")).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice|     NULL|
|  Bob|        5|
+-----+---------+

null 값을 무시하려면 다음으로 True설정합니다ignorenulls.

df.groupby("name").agg(sf.last("age", ignorenulls=True)).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice|        2|
|  Bob|        5|
+-----+---------+