pandas 将DataFrame转换为3D形状数组

332nm8kg  于 2023-04-28  发布在  其他
关注(0)|答案(2)|浏览(90)

我的X_train是693x148,其中值是300个时间点的数组,因此形状为(300,)。

我想为我的数据集创建一个numpy数组,并将其重塑为(693,148,300),以将其馈送到我的CNN。
有什么想法吗
我试过了

X_train = np.array(X_train).reshape(693,148,300)

但我得到了
“无法将大小为102564的数组重新整形为(693,148,300)的形状"*

q9yhzks0

q9yhzks01#

我在训练LSTM NN时遇到了类似的问题。我在某个地方找到了这个函数,并且它工作了。很抱歉我不能提供一个适当的步骤,但首先将您的X_train转换为np.array并考虑这个函数:

def createXY(dataset, n_past):
    dataX = []

    for i in range(n_past, len(dataset)):
        dataX.append(dataset[i - n_past:i, 0:dataset.shape[1]])

return np.array(dataX)

尝试使用n_past=1。希望这有帮助。

oxf4rvwz

oxf4rvwz2#

更新:
我试过了,它工作:X_train = np.array(X_train.T.values.tolist())
为那些需要的人。

相关问题