如何基于另一个从数据框中删除行

时间:2018-04-18 11:18:04

标签: python python-3.x pandas

我一直尝试以最佳水平以特定方式比较两个数据帧但不成功。我希望这里的专家可以帮助解决问题。

以下是我的问题描述: 我有两个数据帧。

数据框#1看起来像这样。

df1:
pid  name  age
121  John   36
132  Mary   26
132   Jim   46
145   Kim   50

Dataframe#2如下所示

df2:
pid  name  age
121  John   32
132   Tom   28
132 Susan   40
155   Kim   50

我想比较两个df,以便df2中那些在df1中没有相同pid的行应该被删除。

我的新数据框#2应如下所示

df2:
pid  name  age
121  John   32
132   Tom   28
132 Susan   40

非常感谢您对此的帮助。

1 个答案:

答案 0 :(得分:4)

您可以在

中使用isin
df2[df2.pid.isin(df1.pid)]

只会返回其pid在df1中的df2行。