如何在Python中将2D转换为3D数组?

时间:2020-07-26 23:54:48

标签: python arrays numpy lstm reshape

我有一个数组,我想通过使用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()函数会很好用。

1 个答案:

答案 0 :(得分:1)

使用numpy方法可以很容易地使用.reshape

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)