【问题标题】:Calculating median of column "Balance" from table "Marketing"计算表“营销”中“余额”列的中位数
【发布时间】:2017-04-05 07:38:03
【问题描述】:

我有一个 spark (scala) 数据框“Marketing”,大约有 17 列,其中 1 列作为“Balance”。该列的数据类型是 Int。我需要找到平衡的中位数。我可以按升序排列它,但之后如何进行?我有一个给定的提示,可以使用 scala 的百分位函数。我对这个百分位函数一无所知。有人可以帮忙吗?

【问题讨论】:

标签: scala spark-dataframe median


【解决方案1】:

中位数与第 50 个百分位数相同。如果您不介意使用 hive 函数,您可以执行以下操作之一:

marketingDF.selectExpr("percentile(CAST(Balance AS BIGINT), 0.5) AS median")

如果您不需要确切的数字,您可以考虑使用 percentile_approx() 代替。

这两个函数的文档位于here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多