Python 在数据框中追加日期时间行并向前填充数据
初学者panda/python用户。 我在pandas数据框中使用24小时数据,但通常在一天的最后几分钟没有数据 我只需要在每个文件上添加行,直到最后一个时间戳达到23.59,然后用数据向前填充最后几分钟。因此:Python 在数据框中追加日期时间行并向前填充数据,python,pandas,dataframe,Python,Pandas,Dataframe,初学者panda/python用户。 我在pandas数据框中使用24小时数据,但通常在一天的最后几分钟没有数据 我只需要在每个文件上添加行,直到最后一个时间戳达到23.59,然后用数据向前填充最后几分钟。因此: 19-12-2016 00:00 2 0.003232323 ... 19-12-2016 23:53 2 0.002822919 19-12-2016 23:54 4 0.002822919 19-12-2016
19-12-2016 00:00 2 0.003232323
...
19-12-2016 23:53 2 0.002822919
19-12-2016 23:54 4 0.002822919
19-12-2016 23:55 1 0.002822919
变成:
19-12-2016 00:00 2 0.003232323
...
19-12-2016 23:53 2 0.002822919
19-12-2016 23:54 4 0.002822919
19-12-2016 23:55 1 0.002822919
19-12-2016 23:56 1 0.002822919
19-12-2016 23:57 1 0.002822919
19-12-2016 23:58 1 0.002822919
19-12-2016 23:59 1 0.002822919
不幸的是,我在这方面使用的代码非常长,我无法准确指出我可以在哪里修改它 您可以:
将数据重新索引为
idx = pd.date_range('2016-12-19', periods=1440, freq='T')
df = df.reindex(idx)
然后使用df.mycol.ffill()
向前填充任何缺少的值一个通用的解决方案在一个帧中多天的数据可能看起来像这样。获取开始和结束日期,然后对整个帧重新编制索引,并填入缺少的值
start = df.index.min().date()
end = df.index.max().date() + pd.Timedelta(1, 'D')
df.reindex(pd.date_range(start, end, freq='T', closed='left')).fillna(method='ffill')
这不应该起作用,因为它不会将时间延长到数据帧中的最后一次。你在开玩笑吧,伙计,这是我的解决方案