use*_*073 0 python arrays apache-spark apache-spark-sql pyspark
对于下面的示例数据,想知道如何找出列中最常出现的值colour。的数据类型colour是WrappedArray。数组中可能有 n 个元素。在此示例中,颜色应为黄色,然后是出现两次的蓝色。非常感谢您的帮助。
Name Colour
A ('blue','yellow')
B ('pink', 'yellow')
C ('green', 'black')
D ('yellow','orange','blue')
Run Code Online (Sandbox Code Playgroud)
小智 5
我会分解颜色列,然后简单地运行 groupBy 并计数以获得您需要的内容。
df \
.select(explode('colour').alias('colour')) \
.groupBy('colour') \
.count() \
.orderBy(col('count').desc())
Run Code Online (Sandbox Code Playgroud)