numpy 无法将python中RNN的2维数组整形为3维数组

tkqqtvp1  于 2023-03-08  发布在  Python
关注(0)|答案(1)|浏览(119)

我无法将数组重新整形为三维数组。下面是示例数据集:

import pandas as pd
import numpy as np

df = {
"a": [0.06 , 0.07, 0.45, 0.98, 0.97 ],
"b": [12,45,65, 56, 34],
"c": [2,5,5, 5, 3],
"d": [23,55,25, 15, 34],
"e": [0.0005,0.55555,0.383825, 0.4747477415, 0.348344334],
"f": [0.0236 , 0.3407, 0.4545, 0.9658, 0.4597 ],
"g": [70 , 90, 123, 154, 99 ],    
}

#load into df:
df = pd.DataFrame(df)

print(df)
df.shape

X = df[['a', 'b', 'c','d','e','f']].to_numpy()
y = df['g'].to_numpy()

X

这是我从其中一个stackoverflow posts中找到的可能的解决方案

# Reshaping the X data to be 3D
X = X.reshape(5, 7, -1)

但是我没有用,我知道矩阵有它的规则,但是,有没有可能把它转换成三维数组呢?如果你知道的话,能不能帮帮我?非常感谢!
我想得到类似于(5,7,3),以3结尾的数组.

oalqel3c

oalqel3c1#

我认为你必须做到:

X = df[['a', 'b', 'c','d','e','f']].to_numpy()
y = df['g'].to_numpy()

X.形状为(5, 6)

df[['a', 'b', 'c','d','e','f']].to_numpy().reshape(5,6,-1)

由于您已将'g'移出到y

X = X.reshape(5, 6, -1)

其他变体包括:

X=X.reshape(2, 5, 3)
X=X.reshape(5, 2, 3)
X=X.reshape(10, 1, 3)
X=X.reshape(1, 10, 3)

我们如何得到它们,实际上这些数的乘积应该是形状的乘积,所以在这个例子中(5,6)的乘积是30
现在,您需要一个末端为3的3D数组,因此我们需要前2维中的10。

相关问题