Pandas 如何重塑熊猫数据帧作为keras SimpleRN的输入?

Pandas 如何重塑熊猫数据帧作为keras SimpleRN的输入?,pandas,keras,recurrent-neural-network,Pandas,Keras,Recurrent Neural Network,我有这样一个时间序列数据的数据帧 df = pd.DataFrame({'TimeStep': [1, 2, 3, 1, 2, 3], 'Feature1': [100, 250, 300, 400, 100, 50], 'Feature2' : [2, 5, 100, 10, 42, 17]}) TimeStep |Feature1 |Feature2 |1 |100 |2

我有这样一个时间序列数据的数据帧

df = pd.DataFrame({'TimeStep': [1, 2, 3, 1, 2, 3],
                   'Feature1': [100, 250, 300, 400, 100, 50],
                   'Feature2' : [2, 5, 100, 10, 42, 17]})

   TimeStep |Feature1   |Feature2
    |1      |100    |2
    |2      |250    |5
    |3      |300    |100
    |1      |400    |10
    |2      |100    |42
    |3      |50     |17
现在,我想将这些数据输入到keras中的SimpleRN层 例如,上述批量大小为2,时间步长为3,输入值为2

我尝试了df.to_numpy().重塑((2,3,2))(当然是用实际df的实际尺寸) 那个形状不起作用

我很感激你能给我的任何建议。 不久前,我用一个纯numpy数组做了类似的事情,但是我没有指定输入值,这很有效


提前谢谢

你接近了!如果重新调整数据帧的形状,不包括
TimeStep
列(通过
iloc[:,1:://code>),则应执行以下操作:

>>df.iloc[:,1:]to_numpy().重塑(2,3,2)
数组([[100,2],
[250,   5],
[300, 100]],
[[400,  10],
[100,  42],
[50,17]],dtype=int64)

它有
(批量大小、顺序、数量特征)
形状。

Aydin非常感谢。你愿意给我解释一下这背后的逻辑吗?现在不是4维吗?对不起,我只是想了解我在做什么:-)哦,我明白了,我想!我无法编辑上面的内容,但我现在看到了!抱歉弄得一团糟:-)@Olli很高兴能帮上忙!您已经提到,您知道批次大小、每个样本的时间步数,最后是每个样本的功能数。然后,
feature1
feature2
列中的信息就足够我们构建所需的数据了。你可以这样想:我们有12个数字,但这些数字有一定的层次结构。例如,在最高级别,我们知道它们分为两组(批量大小)。实际上,我们有6+6个样本。然后在较低的水平上,我们知道每3个连续样本都是时间相关的(时间步长)。。。。所以我们有(3+3)+(3+3)。但是现在剩下的信息也会自动显示出来:我们每个步骤必须有2个特性才能满足6=3*2。总的来说,我们把这12个人分成(2,3,2)个层次。艾丁非常感谢你的详细解释,这对我理解它有很大帮助!