問題の例を次に示します。
>>> 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 とマージしたい。インデックス時間が一致しないため、最初の行である df で最も近い最後の時間と df2 時間を一致させたいと考えています。これを解決するために私が思いついた人為的な方法の 1 つは、2 番目の時系列に偽のマイクロ秒値を追加して、それが一意になるようにすることでした。しかし、これは大きなデータフレームでは遅くなります。これが許可されない特定の理由はありますか? それは論理的なことのように思えます。この制限を克服するためのより良い方法はありますか?