【发布时间】:2020-12-30 17:50:27
【问题描述】:
对于 LSTM,我想
- 仅提取每列的值,
- 将它们放在数据框的开头并
- 在值开始到索引 99 之前填充 0。
但是,请注意,并非每一列都有相同数量的值。有些人已经很多了,有些人还没有。此外,在哪个时间戳上生成值是特定于列的。我确实使用以下代码实现了结果。但是,由于代码确实很慢(700 小时),我正在寻找一种可以更快地执行计算逻辑的可能性。需要很长时间,因为我想每小时计算一次这种结果从 2008 年到 2020 年的时间戳。
有什么方法可以显着加快代码速度?
df1=pd.DataFrame(index=range(100),columns=dummydata.columns)
for j in dummydata.columns:
df1[j]=dummydata[(dummydata.index<=i)][j].dropna().iloc[-T:].iloc[::-1].reset_index(drop=True)
df1=df1.fillna(0).reset_index(drop=True)
【问题讨论】:
-
您能否提供一些示例数据以及预期输出?当原始结果未知时,很难提供答案。另外,
i和T是什么? -
抱歉,该代码位是更大代码的一部分。 i 是 for 循环中的迭代器,并按时间顺序遍历所有时间戳。 T = 100。
标签: python pandas lstm zero-padding