Python 将二维阵列更改为三维阵列

Python 将二维阵列更改为三维阵列,python,arrays,pandas,numpy,Python,Arrays,Pandas,Numpy,我有一个包含8450行和16列的数组。我想将这些数据点输入RNN,每50个点作为一个条目。所以0-49是z=0,1-50是z=1,以此类推。列需要保持不变,以便在每个z轴条目中仍然可以有相同的数据。所以基本上我把50个点的每一块都移到第三个轴上。有没有简单的方法来实现这个python?我尝试了整形,但可能没有正确地进行。当前,数据位于数据帧中 points = 50 for i in range(len(data_prepped_dataframe)-points): x_data =

我有一个包含8450行和16列的数组。我想将这些数据点输入RNN,每50个点作为一个条目。所以0-49是z=0,1-50是z=1,以此类推。列需要保持不变,以便在每个z轴条目中仍然可以有相同的数据。所以基本上我把50个点的每一块都移到第三个轴上。有没有简单的方法来实现这个python?我尝试了整形,但可能没有正确地进行。当前,数据位于数据帧中

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

到目前为止,我有这个,但所有这些都是给我的数据集中的最后50点。我尝试向x_数据项添加索引,但出现了一个错误

我试过了

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

但错误表明未定义x_数据。

如果使用np.array()将数据帧更改为数组,然后在末尾添加.copy(),则将输出3D数组。具体来说,在本例中,一个(8400 x 50 x 16)数组

x_data=[data\u prepped\u dataframe.iloc[i:i+点,:]用于范围内的i(len(…)-点)
?如果添加np.array(…),请关闭,并将您的建议包含在(),我得到了一个1x50x16数组,非常接近,但是一维需要更多。这仍然只给了我整个数据集的最后50行