pyspark-有效地对多个列进行value_counts

在pyspark中,我想计算所有列的不同值及其各自的计数。假设我有下表,我现在正在寻找相应的计数

|  A  |  B  |  C  |  D  |
|-----|-----|-----|-----|
|  A1 |  B1 |  C1 |  D1 |
|  A1 |  B2 |  C1 |  D1 |
|  A1 |  B2 |  C2 |  D1 |
|  A2 |  B3 |  C2 |  D2 |
|  A2 |  B3 |  C2 |  D2 |
|  A3 |  B4 |  C3 |  D3 |

然后我正在寻找输出

{A1 : 3,A2 : 2,A3 : 1}
{B1 : 1,B2 : 2,B3 : 2,B4 : 1}
{C1 : 2,C2 : 3,C3 : 1}
{D1 : 3,D2 : 2,D3 : 1}

P.S。我可以遍历所有列并为每个列执行df.groupBy('columnname').count(),但最终要花费很多时间。有没有一种有效的方法可以更好地做到这一点?

此外,请随时使用效果最好的选项-rdddata frame

azhenzhen 回答:pyspark-有效地对多个列进行value_counts

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3170002.html

大家都在问