PySpark:如何在具有不同计数的列上进行聚合

PySpark : How to aggregate on a column with count of the different

我想在 Identifiant 列上汇总不同 state 的计数并表示所有 state

Identifiant state
ID01 NY
ID02 NY
ID01 CA
ID03 CA
ID01 CA
ID03 NY
ID01 NY
ID01 CA
ID01 NY

我想获取这个数据集:

Identifiant NY CA
ID01 3 3
ID02 1 0
ID03 1 1

分组依据 Identifiant 和数据透视 State 列:

from pyspark.sql import functions as F

result = (df.groupBy("Identifiant")
          .pivot("State")
          .count().na.fill(0)
          )

result.show()
#+-----------+---+---+
#|Identifiant| CA| NY|
#+-----------+---+---+
#|       ID03|  1|  1|
#|       ID01|  3|  3|
#|       ID02|  0|  1|
#+-----------+---+---+