从一个数据帧中删除另一个数据帧中存在的行

2024-09-24 06:25:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧DfMasterDfRemove

DfMaster看起来像:

     Id           Name Building
0  4653     Jane Smith        A
1  3467    Steve Jones        B
2    34        Kim Lee        F
3  4567     John Evans        A 
4  3643   Kevin Franks        S
5   244  Stella Howard        D

DfRemove看起来像:

     Id           Name Building
0  4567     John Evans        A 
1   244  Stella Howard        D

如果记录出现在DfRemove,我想从DfMaster中删除它们。所以这个例子中我的新DfMaster看起来像:

     Id           Name Building
0  4653     Jane Smith        A
1  3467    Steve Jones        B
2    34        Kim Lee        F
3  3643   Kevin Franks        S

约翰和斯特拉被带走的地方

我试过:

DfMaster [DfMaster [~DfRemove [id]]]

没有成功

如果记录出现在DfRemove中,有人能告诉我如何从DfMaster中删除记录吗


Tags: nameid记录johnstevesmithbuildingjones
2条回答

我是否正确地假设Id是唯一标识符(即比较Id就足够了)

如果是这样,这个怎么样:

DfMaster = DfMaster.loc[~DfMaster['Id'].isin(DfRemove['Id'])]

你就快到了,只要做:

DfMaster= DfMaster[~DfMaster.Id.isin(DfRemove.Id)]

输出:

     Id           Name Building
0  4653     Jane Smith        A
1  3467    Steve Jones        B
2    34        Kim Lee        F
3  3643   Kevin Franks        S

相关问题 更多 >