我需要准备数据,将其输入LSTM,以便预测第二天的情况。
我的数据集是以秒为单位的时间序列,但我每天只有3-5个小时的数据。(我只有这个特定的数据集,所以无法更改)
我有Date-Time
和某个Value
。
E、 g.:
datetime..............Value
2015-03-15 12:00:00...1000
2015-03-15 12:00:01....10
.
.
我想写一个代码,我提取,例如4小时,删除提取的第一个小时,只是为特定的月份(因为这个数据是错误的)。
我成功地编写了一个代码来提取x-Data
(输入)和y-Data
(输出)的数据,例如2小时。
我希望我能向你解释我的问题。你知道吗
数据集是以秒为单位的1年数据,缺少下午6点到11点的休息时间。 例如,8月至11月的第一个小时是错误数据,需要删除。你知道吗
init = True
for day in np.unique(x_df.index.date):
temp = x_df.loc[(day + pd.DateOffset(hours=18)):(day + pd.DateOffset(hours=20))]
if len(temp) == 7201:
if init:
x_df1 = np.array([temp.values])
init = False
else:
#print (temp.values.shape)
x_df1 = np.append(x_df1, np.array([temp.values]), axis=0)
#else:
#if not temp.empty:
#print (temp.index[0].date(), len(temp))
x_df1 = np.array(x_df1)
print('X-Shape:', x_df1.shape,
'Y-Shape:', y_df1.shape)
#sample, timesteps and features for LSTM
X-Shape: (32, 7201, 6) Y-Shape: (32, 7201)
我的预期结果是有一个数据集,例如每天4小时,其中删除了8月、9月和10月的第一个小时。 如果有人能为我提供更好的代码,我也会非常高兴。你知道吗
也许不是最有效的解决方案,但也许它仍然适用。你知道吗
首先,让我们为前4个月和每月5天生成一些随机数据:
现在让我们定义一个函数来过滤每天的第一行:
并打印结果:
所以,现在我们需要一个具体月份的列表,在这里是2和3。现在,我们使用定义的函数,过滤每个选定的月的天数,并循环这些天数,找到每天+1小时后第一个条目中所有值的索引,然后将其删除:
结果:
相关问题 更多 >
编程相关推荐