2
我有一個相當高的長度(100,000+)的熊貓數據框,我想合併這個數據框與另一個基於最接近的元素(通過索引)數據幀對象。例如,讓我們說,對象1如下:根據最近的日期時間合併/加入數據幀到不同的數據框
DateTime x_1 y_1
2016-07-05 08:30:00 1 2
2016-07-05 08:30:01 3 4
2016-07-05 08:30:02 5 6
2016-07-05 08:30:03 7 8
2016-07-05 08:30:05 9 10
2016-07-05 08:30:11 11 12
和對象2如下:
DateTime x_2 y_2
2016-07-05 08:30:00 13 14
2016-07-05 08:30:05 15 16
2016-07-05 08:30:05 17 18
2016-07-05 08:30:10 19 20
我想回到一個新的對象,object3,它具有長度相同object2,現在包含object1中最接近object2時間的項目。 Object3,在這種情況下,應該是這樣的:
DateTime x_2 y_2 x_1 y_1
2016-07-05 08:30:00 13 14 1 2
2016-07-05 08:30:05 15 16 9 10
2016-07-05 08:30:05 17 18 9 10
2016-07-05 08:30:10 19 20 11 12
我現在做的東西沿着這些路線來得到這個工作,但我得到重新索引錯誤(非唯一索引):
object3 = object2.join(object1.reindex(object2.index, method='nearest'), how='left')
它返回一個ValueError:
ValueError: cannot reindex a non-unique index with a method or limit
您所提供的多對一個例子發生在上日期時間是相同的合併。那是故意的嗎?如果不是的話,你能否提供一個「關閉」意味着什麼以及你希望如何處理它的例子? – piRSquared
@unutbu:是的!對不起,它的目的是要2016-06-05 08:30:10 – sos
@piRSquared:是的!這是故意的。我希望保留索引的重複項 – sos