Я хочу объединить два набора данных следующим образом: Объединение основано на комбинации date1
, date2
и date3
в dataset2
:
dataset1
universeID ID date1 date2 date3 value_1
AAA 111 01/01/2015 01/01/2016 01/03/2015 5
AAA 111 01/02/2015 01/01/2016 31/03/2015 2
AAA 112 01/01/2015 01/01/2016 01/03/2015 3
AAA 112 01/02/2015 01/01/2016 31/03/2015 0.1
dataset2
universeID date1 date2 date3 value_2
AAA 01/01/2015 01/01/2016 01/03/2015 8
AAA 01/02/2015 01/01/2016 31/03/2015 0.2
Ожидаемый результат:
universeID ID date1 date2 date3 value_1 value_2
AAA 111 01/01/2015 01/01/2016 01/03/2015 5 8
AAA 111 01/02/2015 01/01/2016 31/03/2015 2 0.2
AAA 112 01/01/2015 01/01/2016 01/03/2015 3 8
AAA 112 01/02/2015 01/01/2016 31/03/2015 0.1 0.2
Таким образом, для объединенного набора данных общее количество строк должно равняться номеру строки набора данных1, я попытался:
dataset1.merge(dataset2, on=['universeID','date1', 'date2', 'date3']
, но номер строки в конечном наборе данных> номер строки dataset1
, dataset1
& dataset2
- это только пример, может кто-нибудь подсказать, что не так с кодом и почему у меня больше строк? Я новичок в Python, это уже заняло у меня много времени ..... Большое спасибо!