我需要能够使用Pyspark获得列的最常见值。
在本示例的endpoints
列中,我想获得的结果是Day
,因为它看起来比Monday
和Tuesday
还要多。
Wednesday
我认为我必须按某种方式进行分组和计数,但是该项目应该完成的整个过程对我来说很奇怪。
这是我尝试解决此问题的示例代码。
Row 1: Monday
Row 2: Tuesday
Row 3: Wednesday
Row 4: Monday
我是Pyspark的新手,所以解释得越多越好。我已经阅读了文档,但是很难理解。谢谢。
答案 0 :(得分:0)
假设您的数据框名称为“ d”,想要的列为“ Day”,那么您应该这样做:
Day_count = d.groupby('Day').count()
Day_count.orderBy(desc('count')).take(1)
此代码将为您提供“天”列及其出现时间的模式。