Pyspark:获得列的最普遍价值?

时间:2019-12-01 20:02:25

标签: python pyspark rdd pyspark-sql putty

我需要能够使用Pyspark获得列的最常见值。

在本示例的endpoints列中,我想获得的结果是Day,因为它看起来比MondayTuesday还要多。

Wednesday

我认为我必须按某种方式进行分组和计数,但是该项目应该完成的整个过程对我来说很奇怪。

这是我尝试解决此问题的示例代码。

Row 1: Monday
Row 2: Tuesday
Row 3: Wednesday
Row 4: Monday

我是Pyspark的新手,所以解释得越多越好。我已经阅读了文档,但是很难理解。谢谢。

1 个答案:

答案 0 :(得分:0)

假设您的数据框名称为“ d”,想要的列为“ Day”,那么您应该这样做:

Day_count = d.groupby('Day').count()
Day_count.orderBy(desc('count')).take(1)

此代码将为您提供“天”列及其出现时间的模式。