你可以使用列表推导式。
gdf.agg(*[F.first(x, ignorenulls=True).alias(x) for x in df.columns]).collect()
尝试直接调用pyspark
函数:
import pyspark.sql.functions as F
gdf = df.groupBy(df.name)
parameters = {'col': <your_column_name, 'ignorenulls': True}
sorted(gdf.agg(F.first(**parameters)).collect())
这对你有用吗?
附注:ignorenulls
默认为 True。