我有一个spark(scala)数据框“Marketing”,大约有17列,其中1列为“Balance”。此列的数据类型为Int。我需要找到平衡中位数。我可以按升序排列,但是之后如何继续?我有一个提示,可以使用scala的百分位函数。我对这种百分位函数一无所知。有人可以帮忙吗?
答案 0 :(得分:0)
中位数与第50百分位数相同。如果您不介意使用配置单元功能,可以执行以下操作之一:
marketingDF.selectExpr("percentile(CAST(Balance AS BIGINT), 0.5) AS median")
如果您不需要确切的数字,可以使用percentile_approx()代替。
这两个函数的文档位于here。