メインコンテンツまでスキップ

最後の値

行のグループのcolの最後の値を返します。ignoreNullsが true に設定されている場合、最後に検出された null 以外の値を返します。すべての値が null の場合、null が返されます。

構文

Python
from pyspark.sql import functions as sf

sf.last_value(col, ignoreNulls=None)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

取り組むターゲットカラム。

ignoreNulls

pyspark.sql.Column またはブール値(オプション)

最初の値が null の場合、最初の null 以外の値を検索します。

戻り値

pyspark.sql.Column: 行のグループに対するcolの値。

例1 : nullを無視せずに最後の値を取得する

Python
from pyspark.sql import functions as sf
spark.createDataFrame(
[("a", 1), ("a", 2), ("a", 3), ("b", 8), (None, 2)], ["a", "b"]
).select(sf.last_value('a'), sf.last_value('b')).show()
Output
+-------------+-------------+
|last_value(a)|last_value(b)|
+-------------+-------------+
| NULL| 2|
+-------------+-------------+

例2 : nullを無視して最後の値を取得する

Python
from pyspark.sql import functions as sf
spark.createDataFrame(
[("a", 1), ("a", 2), ("a", 3), ("b", 8), (None, 2)], ["a", "b"]
).select(sf.last_value('a', True), sf.last_value('b', True)).show()
Output
+-------------+-------------+
|last_value(a)|last_value(b)|
+-------------+-------------+
| b| 2|
+-------------+-------------+