在 Pyspark 数据框中转置

Posted

技术标签:

【中文标题】在 Pyspark 数据框中转置【英文标题】:Transpose in Pyspark Dataframe 【发布时间】:2017-10-18 08:42:39 【问题描述】:

我是 PySpark Dataframe 的新手,我正在关注来自 this link 的一个示例。在此链接中,他们正在使用 pandas 数据框,而我想使用 Spark Dataframe 来实现相同的目的。我被困在我想转置表格的问题上,我找不到更好的方法来做到这一点。由于列太多,我发现很难实现和理解 Pivot。有没有更好的方法来做到这一点?我可以在 Pyspark 中使用带有集群环境的 pandas 吗?

【问题讨论】:

【参考方案1】:

在 pyspark API 中 pyspark.mllib.linalg.distributed.BlockMatrix 具有转置功能。 如果你有一个 df 列 id, features

bm_transpose = IndexedRowMatrix(df.rdd.map(lambda x:(x[0],
                  Vectors.dense(x[1])))).toBlockMatrix(2,2).transpose()

【讨论】:

以上是关于在 Pyspark 数据框中转置的主要内容,如果未能解决你的问题,请参考以下文章

使用python对pyspark数据帧进行转置操作

如何在pyspark中设置计数id的日期间隔?

pyspark数据帧转置问题

如何在 Pyspark 的动态列列表中转义列名

我在 pandas 中设置了我的数据类型,但是在转换为 pyspark 时,所有数据都转到了字符串

如何将pyspark数据帧写入不同的hadoop集群