将矩阵转换为 Pyspark 数据框
Posted
技术标签:
【中文标题】将矩阵转换为 Pyspark 数据框【英文标题】:Convert matrix to Pyspark Dataframe 【发布时间】:2019-03-02 17:47:20 【问题描述】:我有一个大小为 1000*10000 的矩阵。我想将此矩阵转换为 pyspark 数据框。
谁能告诉我怎么做?这个post 有一个例子。但是我的列数很大。因此,手动分配列名会很困难。
谢谢!
【问题讨论】:
【参考方案1】:为了创建一个 Pyspark Dataframe,你可以使用函数createDataFrame()
矩阵=([11,12,13,14,15],[21,22,23,24,25],[31,32,33,34,35],[41,42,43,44 ,45]) df=spark.createDataFrame(矩阵) df.show() +---+---+---+---+---+ | _1| _2| _3| _4| _5| +---+---+---+---+---+ | 11| 12| 13| 14| 15| | 21| 22| 23| 24| 25| | 31| 32| 33| 34| 35| | 41| 42| 43| 44| 45| +---+---+---+---+---+
正如您在上面看到的,列将自动使用数字命名。 您还可以将自己的列名传递给 createDataFrame() 函数:
columns=[ 'mycol_'+str(col) for col in range(5) ] df=spark.createDataFrame(matrix,schema=columns) df.show() +-------+-------+-------+-------+-------+ |mycol_0|mycol_1|mycol_2|mycol_3|mycol_4| +-------+-------+-------+-------+-------+ | 11| 12| 13| 14| 15| | 21| 22| 23| 24| 25| | 31| 32| 33| 34| 35| | 41| 42| 43| 44| 45| +-------+-------+-------+-------+-------+
【讨论】:
感谢您的回答。但我收到错误rowmatrix
is not iterable。以上是关于将矩阵转换为 Pyspark 数据框的主要内容,如果未能解决你的问题,请参考以下文章