Pyspark dataframe:交叉表或其他方法将行标签作为新列

XYZ*_*XYZ 5 crosstab dataframe pyspark

我有一个 pyspark 数据框,如下图所示:

在此输入图像描述

即我有四列:年份、单词、计数、频率。年份为2000年至2015年。

我想对(pyspark)数据框进行一些操作,以便我得到如下图所示格式的结果:

在此输入图像描述

新的数据框列应为:word、Frequency_2000、Frequency_2001、Frequency_2002、...、Frequency_2015。

每年每个单词的频率都来自以前的数据帧。

有什么建议我如何编写高效的代码吗?

另外,如果您能提供更多信息,请重命名标题。

XYZ*_*XYZ 8

经过一番研究,我找到了解决方案: 在此输入图像描述

  • 方便复制/粘贴:topw_yes.groupBy("word").pivot("year").agg(first("count")) (2认同)