我有一个numpy的矩阵:
arr = np.array([[2,3], [2,8], [2,3],[4,5]])
我需要从arr创建一个PySpark数据框.我无法手动输入值,因为arr的长度/值将动态变化,因此我需要将arr转换为数据帧.
我尝试以下代码未成功.
df= sqlContext.createDataFrame(arr,["A", "B"])
但是,出现以下错误.
TypeError: Can not infer schema for type: <type 'numpy.ndarray'>
解决方法:
希望这可以帮助!
import numpy as np
#sample data
arr = np.array([[2,3], [2,8], [2,3],[4,5]])
rdd1 = sc.parallelize(arr)
rdd2 = rdd1.map(lambda x: [int(i) for i in x])
df = rdd2.toDF(["A", "B"])
df.show()
输出为:
+---+---+
| A| B|
+---+---+
| 2| 3|
| 2| 8|
| 2| 3|
| 4| 5|
+---+---+