如何重塑 pandas 数据框作为 keras simpleRNN 的输入?
How to reshape pandas dataframe as input to keras simpleRNN?
我有一个像这样的时间序列数据的数据框
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 中的一个简单的 RNN 层
例如上面的 Batch Size 为 2,timesteps = 3 and input_dim = 2
我尝试了 df.to_numpy().reshape((2, 3, 2)) (当然是真实 df 的实际尺寸)
而且那个形状不起作用。
非常感谢您能给我的任何指示。
前一段时间我用纯 numpy 数组做了类似的事情,但是我没有指定 input_dim 并且有效。
提前致谢!
你很接近!如果你重塑不包括 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)
形状。
我有一个像这样的时间序列数据的数据框
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 中的一个简单的 RNN 层 例如上面的 Batch Size 为 2,timesteps = 3 and input_dim = 2
我尝试了 df.to_numpy().reshape((2, 3, 2)) (当然是真实 df 的实际尺寸) 而且那个形状不起作用。
非常感谢您能给我的任何指示。 前一段时间我用纯 numpy 数组做了类似的事情,但是我没有指定 input_dim 并且有效。
提前致谢!
你很接近!如果你重塑不包括 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)
形状。