共用方式為


first

回傳群組中的第一個值。 函式預設會回傳它看到的第一個值。 當 ignoreNulls 設為 true 時,它會回傳第一個看到的非空值。 若所有值皆為空,則回傳 null。 此函數之所以非確定性,是因為其結果取決於排列順序,而這些排列在洗牌後可能仍是非確定性的。

語法

from pyspark.sql import functions as sf

sf.first(col, ignorenulls=False)

參數

參數 類型 Description
col pyspark.sql.Column 或欄位名稱 欄位用來取得第一個值。
ignorenulls 布爾 (bool) 如果第一個值為空值,則尋找第一個非空值。 預設為 False。

退貨

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)
df.groupby("name").agg(sf.first("age")).orderBy("name").show()
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice|      NULL|
|  Bob|         5|
+-----+----------+

要忽略任何空值,請設 ignorenullsTrue

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