【发布时间】:2022-10-09 04:30:57
【问题描述】:
我有 pyspark 数据框,它想要计算汇总统计信息(该列中所有唯一类别的计数)和交叉制表,其中所有字符串列都有一个固定列。 例如:我的 df 是这样的
| col1 | col2 | col3 |
|---|---|---|
| Cat1 | XYZ | A |
| Cat1 | XYZ | C |
| Cat1 | ABC | B |
| Cat2 | ABC | A |
| Cat2 | XYZ | B |
| Cat2 | MNO | A |
我想要这样的东西
| VarNAME | Category | Count | A | B | C |
|---|---|---|---|---|---|
| col1 | Cat1 | 3 | 1 | 1 | 1 |
| col1 | Cat2 | 3 | 2 | 0 | 1 |
| col2 | XYZ | 3 | 1 | 1 | 1 |
| col2 | ABC | 2 | 1 | 1 | 0 |
| col2 | MNO | 1 | 1 | 0 | 0 |
| col3 | A | 3 | 3 | 0 | 0 |
| col3 | B | 2 | 0 | 2 | 0 |
| Col3 | C | 1 | 0 | 0 | 1 |
所以,基本上,我想要使用 col3 和总数对所有单个列进行交叉制表。 我可以使用循环在 Python 中执行此操作,但循环在 pyspark 中有所不同。
【问题讨论】:
-
这回答了你的问题了吗? Pyspark Dataframe pivot and groupby count
-
是的,但部分。我有很多专栏,所以我想知道是否可以在没有循环的情况下做到这一点
标签: pyspark apache-spark-sql databricks