我有多个(~5个)数据帧,每个数据帧都有来自给定来源的数据,如下所示:
>>> d.head()
Out[18]:
SOURCE B1 S1 B2 S2
Time
2017-04-03 00:01:00.221 J 1114.73 2000000 1117.47 2000000
2017-04-03 00:01:02.701 J 1114.10 2000000 1117.47 2000000
2017-04-03 00:01:02.701 J 1114.10 2000000 1117.44 2000000
2017-04-03 00:01:02.902 J 1114.80 2000000 1117.44 2000000
2017-04-03 00:01:08.413 J 1114.76 2000000 1117.44 2000000
我希望按时将所有这些组合在一起,并在给定时间内获取最大B1和最大B2(来自所有来源)。鉴于时间长达几微秒,我几乎没有完全重叠的行,所以我想基于时间加入彼此给定的宽度(比如说1秒)。我想知道是否有更好的方法来做到这一点,而不是根据最近的索引一次组合2个数据帧:
d1['1 Index'] = d1.index
temp = d1.reindex(d2.index, method='nearest')
df_merge = pd.concat([temp, d2], axis=1)
我必须做5次以上才能创建一个组合的df_merge。但是上述方法可能具有间隔超过1秒的合并,这是不希望的。此外,在每个后续合并中,可以选择合并第二个数据帧的索引。