我将尝试对数据框进行分组,然后在聚合行时,使用计数器对行应用条件。
这里是一个示例:
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|
+---+---+
在这个例子中,我想按列 _1 进行分组,在列 _2 上计数,当值='X'时
以下是期望的结果:
+---+-----------+
| _1| count(_2) |
+---+-----------+
| A| 2 |
| B| 0 |
| c| 1 |
| d| 1 |
+---+-----------+