如何在 pyspark 中将 DenseMatrix 转换为 spark DataFrame?

Posted

技术标签:

【中文标题】如何在 pyspark 中将 DenseMatrix 转换为 spark DataFrame?【英文标题】:How to convert DenseMatrix to spark DataFrame in pyspark? 【发布时间】:2019-01-09 04:48:02 【问题描述】:

除了以下使用 Scala 的示例外,我没有找到任何 pyspark 代码将矩阵转换为 spark 数据帧。有谁知道如何改用python?

How to convert a mllib matrix to a spark dataframe?

【问题讨论】:

【参考方案1】:

我们可以使用toArray() 方法将DenseMatrix 转换为numpy ndarray 和tolist() 从数组转换为列表。

>>> m = DenseMatrix(2, 2, range(4))
>>> m
DenseMatrix(2, 2, [0.0, 1.0, 2.0, 3.0], False)
>>> rows = m.toArray().tolist()
>>> rows
[[0.0, 2.0], [1.0, 3.0]]
>>> df = spark.createDataFrame(rows,['col1','col2'])
>>> df.show()
+----+----+
|col1|col2|
+----+----+
| 0.0| 2.0|
| 1.0| 3.0|
+----+----+

【讨论】:

以上是关于如何在 pyspark 中将 DenseMatrix 转换为 spark DataFrame?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pyspark 中将 DenseMatrix 转换为 spark DataFrame?

如何在 Pyspark 中将字符串更改为时间戳?

如何在pyspark中将列转换为行?

如何在 PySpark 中将 sql 函数与 UDAF 组合/链接

如何在 PySpark 中将两个 rdd 合并为一个

如何在 PySpark 或 Pandas 中将一列的中间行大写