首页 > 解决方案 > Pandas 将时间间隔与时间序列重叠

问题描述

我有一个 pandas 数据框,其中包含在某些点重叠的时间间隔(图 1)。我需要一个数据帧,它的时间序列从第一个 start_time 开始到最后一个 end_time 结束(图 2)。我必须以重叠的时间间隔总结 VIS 值。我想不通。我该怎么做?

在此处输入图像描述

在此处输入图像描述

标签: pythonpandasdataframedatetimetime-series

解决方案


如果您粘贴数据而不是图像,我将能够对此进行测试。但这就是您可能想要考虑的方式。假设您的数据框称为 df。

df['start_time'] = pd.to_datetime(df['start_time']) # in case it's not datetime already
df.set_index('start_time', inplace=True)
new_dates = pd.date_range(start=min(df.index), end=max(df.end_time), freq='15Min')
new_df = df.reindex(new_dates, fill_value=np.nan)

只要 start_time 中没有重复项,这应该可以工作。如果有,那需要以其他方式处理。

重新采样是另一种可能性,但如果没有数据,很难说什么会起作用。


推荐阅读