我试图得到一个火花数据帧,训练成一个4-d numpy数组。我试过了:
traindf = sqlContext.createDataFrame([
(1, 1, 2, 3),
(1, 2, 2, 3),
(1, 3, 2, 3),
(1, 4, 2, 3),
(2, 4, 5, 6),
(2, 4, 5, 6),
(3, 7, 8, 9),
(2, 4, 5, 6),
(3, 7, 8, 9),
(3, 7, 8, 9)
], ("id", "image", "s", "t"))
values = (traindf.rdd.map(lambda l: [map(lambda r: float(r), l)]).collect())
x = np.array(values)
x = np.array_split(x, x.shape[0]/2)
x = np.asarray(x)
x.shape
这产生(5,2,1,4),但它似乎keras需要(5,1,2,4)。我已经尝试了几种方法,但没有看到一个好方法来获得正确的格式。
有什么建议吗?
刚刚想好了,把这个加到结尾
x = np.reshape(x, (5, 1, 2, 4))