【发布时间】:2014-09-25 22:15:04
【问题描述】:
现在,我有一个这样的 DF1:
Words Words1 Words2
Shell Shocked Big Bang Theory Hot Potato
Falling Down Tiger Blood Blue Suede Shoe
A Big Window Mouse Trap
Look Around
我希望做的是做某种等效的 vlookup,并从 DF1 的列中删除所有出现在 DF2 中的单词,如下所示:
KW
Shell Shocked
Tiger Blood
Blue Suede Shoe
A Big Window
这样我就剩下...
Words Words1 Words2
Falling Down Big Bang Theory Hot Potato
Look Around Mouse Trap
这是我尝试过的:
DF1 = DF1[~DF1['Words'].isin(DF2)]
DF1 = DF1[~DF1['Words1'].isin(DF2)]
DF1 = DF1[~DF1['Words2'].isin(DF2)]
这一个实际上并没有过滤任何东西(也许我这样做不正确)。我也试过了:
set_B = set(onlykw.itertuples(index=False))
mask = [x not in set_B for x in A.itertuples(index=False)]
它只返回“True”(我在另一篇 SO 帖子中发现了这个,但我不确定它是如何工作的)。 有谁知道如何做到这一点?
【问题讨论】:
标签: python-3.x pandas