gpt4 book ai didi

scala - Spark 聚合计数条件

转载 作者:行者123 更新时间:2023-12-01 21:55:15 25 4
gpt4 key购买 nike

我正在尝试对数据框进行分组,然后在使用计数聚合行时,我想在计数之前对行应用条件。
这是一个例子:

val test=Seq(("A","X"),("A","X"),("B","O"),("B","O"),("c","O"),("c","X"),("d","X"),("d","O")).toDF
test.show
+---+---+
| _1| _2|
+---+---+
| A| X|
| A| X|
| B| O|
| B| O|
| c| O|
| c| X|
| d| X|
| d| O|
+---+---+

在此示例中,当值 ='X' 时,我想按列 _1 对列 _2 进行分组
这是预期的结果:

+---+-----------+
| _1| count(_2) |
+---+-----------+
| A| 2 |
| B| 0 |
| c| 1 |
| d| 1 |
+---+-----------+

最佳答案

使用 when 获取此聚合。此处显示 PySpark 解决方案。

from pyspark.sql.functions import when,count
test.groupBy(col("col_1")).agg(count(when(col("col_2") == 'X',1))).show()

关于scala - Spark 聚合计数条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58137248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com