我有一个1000*10000大小的矩阵,我想把这个矩阵转换成pyspark点阵。有人能告诉我怎么做吗?这个post有一个例子。但是我的列数很大。所以,手动分配列名会很困难。谢谢你,谢谢
wf82jlnq1#
为了创建一个Pyspark Dataframe,您可以使用函数DataFrame()
matrix=([11,12,13,14,15],[21,22,23,24,25],[31,32,33,34,35],[41,42,43,44,45]) df=spark.createDataFrame(matrix) 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()函数:
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| +-------+-------+-------+-------+-------+
型
1条答案
按热度按时间wf82jlnq1#
为了创建一个Pyspark Dataframe,您可以使用函数DataFrame()
字符串
正如你在上面看到的,列将自动用数字命名。你也可以将你自己的列名传递给
createDataFrame()
函数:型