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.first(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)
df.groupby("name").agg(sf.first("age")).orderBy("name").show()
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice| NULL|
| Bob| 5|
+-----+----------+
若要忽略任何 null 值,请设置为ignorenullsTrue:
df.groupby("name").agg(sf.first("age", ignorenulls=True)).orderBy("name").show()
+-----+----------+
| name|first(age)|
+-----+----------+
|Alice| 2|
| Bob| 5|
+-----+----------+