Pyspark - 通过忽略空值计算分组后的最小值

Pyspark - compute min after group by ignoring null values

我想对一个数据集进行分组,并为每个组计算一个变量的最小值,忽略空值。例如:

NAME   | COUNTRY | AGE
Marc   | France  | 20
Anne   | France  | null
Claire | France  | 18
Harry  | USA     | 20
David  | USA     | null
George | USA     | 28

如果我计算

    from pyspark.sql import functions as F
    min_values = data.groupBy("COUNTRY").agg(F.min("AGE").alias("MIN_AGE"))

我获得

   COUNTRY | MIN_AGE
   France    null
   USA       null

而不是

   COUNTRY | MIN_AGE
   France    18
   USA       20

你知道怎么解决吗?非常感谢你!

您可以删除 na 个值:

min_values = data.na.drop().groupBy("COUNTRY").agg(F.min("AGE").alias("MIN_AGE"))