现在,我有一个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帖子上发现了这一点,我不确定它到底是如何工作的)有人知道如何做到这一点吗
KW
是DF2中的列名吗?如果是,那么您需要
DF1 = DF1[~DF1['Words'].isin(DF2['KW'])]