pyspark - 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
你知道如何解决吗?非常感谢!
解决方案
您可以删除 na 值:
min_values = data.na.drop().groupBy("COUNTRY").agg(F.min("AGE").alias("MIN_AGE"))
推荐阅读
- java - javac-algs4 编译器的问题
- reactjs - 是否可以合并 React 和 Vue 构建文件?
- python - 当不捕获转置的返回值时,Pandas 中的内存如何处理
- pytorch - SageMaker PyTorchModel 传递自定义变量
- java - 如何使用 JMenuItems 在 JTextArea 中的单独行上显示整数?
- python - 如何使用 Python 线程更快地写入大量小文件
- python - 如何将字符串拆分为一列并将其与Python中的另一列进行比较
- scala - Spark Structured Streaming 中的滑动窗口
- ios - swift 可选的泛型类型和嵌套的可选展开
- java - 使用位图工厂在可运行文件中以每秒 30 张图像的速度显示 150 张图像,但它很滞后