首页 > 解决方案 > 合并具有不同时间分辨率的 pandas 时间序列数据帧

问题描述

我有两个数据帧,每个数据帧都有日期时间索引。其中一个数据集的时间分辨率为 12.33 分钟,此处df1为 ,另一个数据集的时间分辨率为 1 秒,此处称为df2

np.random.seed(seed=1111)
data = np.random.randint(1, high=100, size=len(minutes))
data_1 = np.random.randint(1, high=100, size=len(seconds))
Channel_1=data*0.1
Channel_2=data
Channel_1_1=data_1*10
Channel_1_2=data_1*100
df1 = pd.DataFrame({'Datetime': minutes, 'Channel 1': Channel_1, 'Channel 2': Channel_2})
df1 = df1.set_index('Datetime')
df2 = pd.DataFrame({'Datetime': seconds, 'Channel 1': Channel_1_1, 'Channel 2': Channel_1_2})
df2 = df2.set_index('Datetime')

以下是本质df1上的df2样子: 在此处输入图像描述 在此处输入图像描述

我现在想合并这些数据帧,以便它们共享相同的时间分辨率。本质上,我想重新采样df2(理想情况下使用mean()),然后将其放在新的数据框中,与来自df1具有相同日期时间索引的数据一起df1(即,使来自的第一个值是和df2之间的平均值)。知道是否可以根据和之间的中点进行平均也很有趣。我一直在玩,但我似乎无法找到有效的解决方案。df1.index[0]df1.index[[1]]df1.index[0]df1.index[[1]]resamplereindexpd.merge_asof

标签: pythonpandasreindexpandas-resample

解决方案


推荐阅读