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

初め

グループ内の最初の値を返します。デフォルトでは、この関数は最初に見つかった値を返します。ignoreNulls が true に設定されている場合、最初に見つかった null 以外の値を返します。すべての値が null の場合、null が返されます。この関数は非決定的です。その結果は行の順序に依存し、シャッフル後は行の順序が非決定的になる可能性があるからです。

構文

Python
from pyspark.sql import functions as sf

sf.first(col, ignorenulls=False)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または列名

最初の値を取得する列。

ignorenulls

bool

最初の値が null の場合、最初の null 以外の値を検索します。デフォルトでは False です。

パラメーター

Type

説明

col

pyspark.sql.Column または列名

最初の値を取得する列。

ignorenulls

bool

最初の値が null の場合、最初の null 以外の値を検索します。デフォルトでは False です。

戻り値

pyspark.sql.Column: グループの最初の値。

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

null 値を無視するには、 ignorenulls Trueに設定します。

Python
df.groupby("name").agg(sf.first("age", ignorenulls=True)).orderBy("name").show()
Output
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice| 2|
| Bob| 5|
+-----+----------+
このページの見出し