[英]Removing rows from dataframe that occurs in another dataframe
我在从 dataframe 中删除发生在另一个 dataframe 中的行时遇到问题。下面是简单示例和预期结果。
df1
一种 | 乙 |
---|---|
Z | 1个 |
X | 2个 |
C | 3个 |
V | 4个 |
df2
一种 | 乙 |
---|---|
DD | 66 |
Z | 1个 |
X | 2个 |
CC | 55 |
应为 output,df2,但 df1 中出现的行将被删除。
新的DF2:
一种 | 乙 |
---|---|
DD | 66 |
CC | 55 |
编辑:我需要同时匹配 A 和 B。
IIUC,您可以在indicator=True
的帮助下使用反向merge
:
(df2
.merge(df1, how='left', indicator=True) # if unrelated columns use on=['A', 'B']
.loc[lambda d: d.pop('_merge').eq('left_only')]
)
output:
A B
0 DD 66
3 CC 55
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.