如何在 Python 中将 2D 数组重塑为 3D 数组?

How to Reshape 2D to 3D Array in Python?

为了在 Python 中训练 LSTM,我想重塑一个数组。 这是我的数组的样子:

[[0,0,0,0,1]
[1,0,0,0,0]
[0,0,0,1,0]
[0,1,0,0,0]]

在上面的例子中,有 5 个特征。此时的其他 4 个特征设置为 0,一个特征设置为 1。我想使用 (sample,timestep,feature) 重塑它以创建 3D 数组。

我正在使用 numpy,当然,.reshape() 函数会很好用。

使用.reshape方法很容易对numpy进行处理:

A = np.array([[0,0,0,0,1], [1,0,0,0,0], [0,0,0,1,0], [0,1,0,0,0]])
A = A.reshape(2, 2, 5)
print(A.shape)

所以新形状是 (2, 2, 5)。对于您的数据,您只需为时间步长添加一个虚拟维度:

A = np.expan_dims(A, 1)