将 Dataframe 转换为 3D 形状数组

问题描述 投票:0回答:2

My

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

Here is an image of .xlsx

我想为我的数据集创建一个 numpy 数组并将其重塑为 (693,148,300),以将其提供给我的 CNN。

任何想法?

我试过了

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

但我明白了:

“无法将大小为 102564 的数组重塑为形状 (693,148,300)”*

python pandas numpy conv-neural-network reshape
2个回答
0
投票

我在训练 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 试试。希望这会有所帮助。


0
投票

更新:

我试过这个并且有效:

X_train = np.array(X_train.T.values.tolist())

给有需要的人

© www.soinside.com 2019 - 2024. All rights reserved.