Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
返回组中的最后一个值。 默认情况下,该函数返回它看到的最后一个值。 它将返回当 ignoreNulls 设置为 true 时看到的最后一个非 null 值。 如果所有值均为 null,则返回 null。 该函数是非确定性的,因为它的结果取决于在随机排列后可能是不可确定的行的顺序。
Syntax
from pyspark.sql import functions as sf
sf.last(col, ignorenulls=False)
参数
| 参数 | 类型 | Description |
|---|---|---|
col |
pyspark.sql.Column 或列名 |
要为其提取最后值的列。 |
ignorenulls |
布尔 | 如果最后一个值为 null,则查找非 null 值。 默认情况下为 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.desc())
df.groupby("name").agg(sf.last("age")).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice| NULL|
| Bob| 5|
+-----+---------+
若要忽略任何 null 值,请设置为ignorenullsTrue:
df.groupby("name").agg(sf.last("age", ignorenulls=True)).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice| 2|
| Bob| 5|
+-----+---------+