这是问题的一个例子:
>>> df = DataFrame({'a':[1,2]},index=[datetime.today(),datetime.today()+timedelta(days=1)])
>>> df
a
2013-02-15 09:36:14.665272 1
2013-02-16 09:36:14.857322 2
>>> dup_index = datetime.today()
>>> df2 = DataFrame({'a':[2,3]},index=[dup_index,dup_index])
>>> df2
a
2013-02-15 09:37:11.701271 2
2013-02-15 09:37:11.701271 3
>>>
>>> df2.reindex(df.index,method='ffill')
Traceback (most recent call last):
...
Exception: Reindexing only valid with uniquely valued Index objects
我希望将 df2 与 df 合并。因为索引时间不匹配,我希望将 df2 时间与 df 中最接近的最后一次匹配,即第一行。我想出的解决这个问题的一种人为方法是在第二个时间序列中添加一个假的微秒值,使其变得独一无二。但这对于大数据帧来说很慢。不允许这样做有什么特别的原因吗?这似乎是一件合乎逻辑的事情。我有没有更好的方法来克服这个限制?