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|
#+-----------+---+---+
我想在 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|
#+-----------+---+---+