繁体   English   中英

在 Pandas 数据框中附加日期时间行和前向填充数据

[英]Appending datetime rows and forward filling data in pandas dataframe

初学者熊猫/蟒蛇用户。 我在 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 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

不幸的是,我为此使用的代码真的很长,我无法准确指出我可以在哪里修改它。

你可以:

将您的数据reindex

idx = pd.date_range('2016-12-19', periods=1440, freq='T')
df = df.reindex(idx)

然后使用df.mycol.ffill()向前填充任何缺失值

单个帧中多天数据的通用解决方案可能如下所示。 获取开始和结束日期,然后reindex整个框架并填充缺失值。

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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM