基于具有重复项的列合并两个数据框

时间:2020-01-17 14:16:01

标签: python pandas dataframe merge

我知道在没有重复项的情况下如何基于特定列合并两个数据帧[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

[1] Merge two dataframes based on a column

0 个答案:

没有答案