pandas - 如何 reshape pandas 数据框作为 keras simpleRNN 的输入?

标签 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
    |2      |250    |5
    |3      |300    |100
    |1      |400    |10
    |2      |100    |42
    |3      |50     |17

现在我想将它们提供给 keras 中的 simpleRNN 层 例如上面的 Batch Size 为 2,timesteps = 3 且 input_dim = 2

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

非常感谢您给我的任何指示。 不久前,我用纯 numpy 数组做了类似的事情,但我没有指定 input_dim 并且有效。

提前致谢!

最佳答案

你很接近了!如果您 reshape 数据框,不包括 TimeStep 列(通过 iloc[:, 1:]),它应该这样做:

>>> df.iloc[:, 1:].to_numpy().reshape(2, 3, 2)
array([[[100,   2],
        [250,   5],
        [300, 100]],

       [[400,  10],
        [100,  42],
        [ 50,  17]]], dtype=int64)

其形状为(batch_size, seq_len, num_features)

关于pandas - 如何 reshape pandas 数据框作为 keras simpleRNN 的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67091275/

相关文章:

python - python pandas 根据日期将数据导出到多个excel文件

python - 如何从包含列表的 Pandas 列中进行一次热编码?

python - 在 Pandas DataFrame 中使用 set_index

python - 如何解决操作系统错误 : [Errno 22] Invalid argument:

python - 在 tensorflow 中,如何迭代存储在张量中的一系列输入?

machine-learning - TimeDistributed(Dense) 与 Keras 中的 Dense - 相同数量的参数

python - 在选定列上创建数据透视表后的附加计算

keras - 禁用keras中的日志

python - model.fit 上的维数错误

machine-learning - (双向)RNN 用于简单文本分类