将矩阵转换为Pyspark Dataframe

omqzjyyz  于 5个月前  发布在  Spark
关注(0)|答案(1)|浏览(69)

我有一个1000*10000大小的矩阵,我想把这个矩阵转换成pyspark点阵。
有人能告诉我怎么做吗?这个post有一个例子。但是我的列数很大。所以,手动分配列名会很困难。
谢谢你,谢谢

wf82jlnq

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()函数:

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|
+-------+-------+-------+-------+-------+

相关问题