首页 > 解决方案 > 如何在 Pyspark 中计算四分位数?

问题描述

我想计算 spark 数据框中数据的均值、最小值、最大值、标准差、25%、50%、75% 值。我已经尝试过 Summary() 函数,但它没有给出 25%、50% 和 75% 的确切值......即使数据相同,每次运行的值也会发生变化。

如何计算准确的 25%、50% 和 75% 以及其他统计数据?

标签: pysparkstatistics

解决方案


Dataset.summary用于ApproximatePercentile计算四分位数。如果您需要精确的四分位数,请使用以下百分位数-

> SELECT percentile(col, 0.3) FROM VALUES (0), (10) AS tab(col);
 3.0
> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
 [2.5,7.5]

推荐阅读