我知道在没有重复项的情况下如何基于特定列合并两个数据帧[1]。
new = new[new.name.isin(old.exchange_time)]
old = old[old.name.isin(new.exchange_time)]
当一个中有多个重复条目而另一个中没有重复条目时,该怎么办?例如:
新
place name qty unit
NY Tom 3 10
NY Tom 4 10
TK Ron 3 15
Lon Don 5 90
Hk Sam 4 49
旧
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
中只有两行Tom
,因此应该删除第三行new
。
所需的新输出
place name qty unit
NY Tom 3 10
NY Tom 4 10
TK Ron 3 15
Hk Sam 4 49
所需的旧输出
place name qty unit
NY Tom 2 10
NY Tom 2 10
TK Ron 3 15
Hk Sam 4 49