首页 > 解决方案 > 在熊猫数据框中添加缺少的时间戳

问题描述

我正在努力将丢失的时间戳添加到数据框中。

我当前的输出是:

    start_Local_round           end_Local_round         alarmId
2020-09-01 00:30:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 00:30:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 02:20:00+00:00   2020-09-01 02:30:00+00:00   155698

我需要类似的东西:

    start_Local_round           end_Local_round         alarmId
2020-09-01 00:30:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 00:30:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 00:40:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 00:40:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 00:50:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 00:50:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 01:00:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 01:00:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 01:10:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 01:10:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 01:20:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 01:20:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 01:30:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 01:30:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 01:40:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 01:40:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 01:50:00+00:00   2020-09-01 01:50:00+00:00   15568
2020-09-01 01:50:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 02:00:00+00:00   2020-09-01 02:50:00+00:00   2560        
2020-09-01 02:10:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 02:20:00+00:00   2020-09-01 02:30:00+00:00   155698
2020-09-01 02:20:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 02:30:00+00:00   2020-09-01 02:30:00+00:00   155698
2020-09-01 02:30:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 02:40:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 02:50:00+00:00   2020-09-01 02:50:00+00:00   2560
2020-09-01 03:00:00+00:00
2020-09-01 03:10:00+00:00
2020-09-01 03:20:00+00:00

目的是将其与另一个具有 10 分钟数据时间戳的数据帧合并

我厌倦了创建一个包含该时期所有数据点的数据框

#création des points 10'
def datetime_range(start, end, delta):
    current = start
    while current < end:
        yield current
        current += delta

min_date = df.start_Local.min().round('10min')
max_date = df.start_Local.max().round('10min')
        
dts = [dt.strftime('%Y-%m-%d %H:%M:%S') for dt in datetime_range(min_date, max_date, timedelta(minutes=10))]

但我无法将它与我的原始数据合并。

你有什么想法可以帮助我吗?

谢谢 !!

标签: pythontimestampmissing-data

解决方案


感觉答案是:

new_df = df.set_index('Start').resample("10min").first().reset_index().reindex(columns=df.columns)

推荐阅读