první

Vrátí první hodnotu ve skupině. Funkce ve výchozím nastavení vrátí první hodnoty, které uvidí. Vrátí první nenulovou hodnotu, která se zobrazí, když je hodnota ignoreNulls nastavená na hodnotu true. Pokud jsou všechny hodnoty null, vrátí se hodnota null. Funkce není deterministická, protože její výsledky závisí na pořadí řádků, které mohou být po náhodném prohazování ne deterministické.

Syntaxe

from pyspark.sql import functions as sf

sf.first(col, ignorenulls=False)

Parametry

Parameter Typ Description
col pyspark.sql.Column nebo název sloupce Sloupec, pro který se načte první hodnota.
ignorenulls Booleova hodnota Pokud je první hodnota null, vyhledejte první hodnotu, která není null. Ve výchozím nastavení je false.

Návraty

pyspark.sql.Column: první hodnota skupiny.

Examples

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|
+-----+----------+

Pokud chcete ignorovat všechny hodnoty null, nastavte ignorenulls hodnotu True:

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