首页 > 解决方案 > Pyspark - 通过忽略空值计算分组后的最小值

问题描述

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

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

你知道如何解决吗?非常感谢!

标签: pysparkpyspark-sql

解决方案


您可以删除 na 值:

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

推荐阅读