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

时间:2019-01-09 04:48:02

标签: python apache-spark apache-spark-sql

除以下使用Scala的示例外,我没有找到任何将矩阵转换为Spark数据框的pyspark代码。有人知道如何使用python吗?

How to convert a mllib matrix to a spark dataframe?

1 个答案:

答案 0 :(得分:2)

我们可以使用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|
+----+----+