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