行グループの col の最初の値を返します。
ignoreNullsが true に設定されている場合に表示される最初の null 以外の値が返されます。 すべての値が null の場合、null が返されます。
構文
from pyspark.sql import functions as sf
sf.first_value(col, ignoreNulls=None)
パラメーター
| パラメーター | タイプ | Description |
|---|---|---|
col |
pyspark.sql.Column または str |
作業対象の列。 |
ignoreNulls |
pyspark.sql.Column またはブール値(省略可能) |
最初の値が null の場合は、最初の null 以外の値を探します。 |
返品ポリシー
pyspark.sql.Column: 行のグループの col の値。
例示
例 1: null を無視せずに最初の値を取得する
from pyspark.sql import functions as sf
spark.createDataFrame(
[(None, 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["a", "b"]
).select(sf.first_value('a'), sf.first_value('b')).show()
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
| NULL| 1|
+--------------+--------------+
例 2: null を無視して最初の値を取得する
from pyspark.sql import functions as sf
spark.createDataFrame(
[(None, 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["a", "b"]
).select(sf.first_value('a', True), sf.first_value('b', True)).show()
+--------------+--------------+
|first_value(a)|first_value(b)|
+--------------+--------------+
| a| 1|
+--------------+--------------+