将2D阵列更改为3D阵列

时间:2020-10-29 21:35:12

标签: python arrays pandas numpy

我有一个包含8450行和16列的数组。我想将这些数据点输入到RNN中,每个50点是一个条目。所以0-49是z = 0,而1-50是z = 1,依此类推。这些列需要保持不变,这样我在每个z轴条目中仍可以拥有相同的数据。因此,基本上,我要获取每50点的大块并将其移至第三轴。有简单的方法来做这个python吗?我尝试过重塑,但可能做得不正确。当前数据在pandas数据框中。

points = 50
for i in range(len(data_prepped_dataframe)-points):
     x_data = data_prepped_dataframe.iloc[i:i+points,:]

到目前为止,我已经有了,但是所有要做的就是给我数据集中的最后50点。我尝试在x_data项中添加索引,但这引发了错误

我尝试过

x_data[:,:,i] = data_prepped_dataframe.iloc[i:i+points,:]

但是错误提示未定义x_data。

1 个答案:

答案 0 :(得分:0)

如果使用np.array()将数据框更改为数组,然后在末尾添加.copy(),则将输出3D数组。特别是在这种情况下(8400 x 50 x 16)数组