【发布时间】:2019-12-01 20:02:25
【问题描述】:
我需要能够使用 Pyspark 获取列的最常见值。
在这个来自Day 列的示例中,我想要得到的结果是Monday,因为它出现的次数超过了Tuesday 和Wednesday。
Row 1: Monday
Row 2: Tuesday
Row 3: Wednesday
Row 4: Monday
我想我必须做一些分组和计数,但整个项目应该完成的方式对我来说很奇怪。
这是我试图解决这个问题的示例代码。
d = d.rdd
d = d.map(lambda row: (row.day.year, row.number))
print(d.take(2000))
d_maxNum = d.reduceByKey(lambda max_num, this_num: this_num if this_num > max_num else max_num)
print(d_maxNum.collect())
我是 Pyspark 的新手,所以解释越多越好。我已经阅读了文档,但我很难理解它。谢谢。
【问题讨论】:
标签: python pyspark rdd pyspark-sql putty