Я знаю, как объединить два кадра данных на основе указанного столбца c, когда нет дубликатов [1].
new = new[new.name.isin(old.exchange_time)]
old = old[old.name.isin(new.exchange_time)]
Как я могу это сделать, если в одной, но не в другой записи больше повторяющихся записей? Например:
new
place name qty unit
NY Tom 3 10
NY Tom 4 10
TK Ron 3 15
Lon Don 5 90
Hk Sam 4 49
old
place name qty unit
NY Tom 2 10
NY Tom 2 10
NY Tom 2 10 <-- this should be discarded
TK Ron 3 15
Hk Sam 4 49
Я хочу решение, которое сохраняет первые несколько записей и отбрасывает последние повторяющиеся записи, если они перестают быть перекрытия. В приведенном выше примере третья строка Tom
должна быть удалена, поскольку в new
. Есть только две строки Tom
.
Требуемый вывод нового
place name qty unit
NY Tom 3 10
NY Tom 4 10
TK Ron 3 15
Hk Sam 4 49
Желаемый вывод old
place name qty unit
NY Tom 2 10
NY Tom 2 10
TK Ron 3 15
Hk Sam 4 49
[1] Объединить два кадра данных на основе столбца