python – 删除出现在其他列Pandas中的单词

从另一列中出现的一列列中删除字符串中的单词的过程是什么?

例如:

Sr       A              B                            C
1      jack        jack and jill                 and jill
2      run         you should run,               you should ,
3      fly         you shouldnt fly,there        you shouldnt ,there

可以看出我想要列C,这样它就是B减去A的内容.请注意第三个例子,其中fly后面跟一个逗号,所以它也应该考虑标点符号(如果代码更倾向于检测周围的空间).
A列也可以有2个单词,因此需要将其删除.
我需要Pandas中的表达式,例如:

df.apply(lambda x: x["C"].replace(r"\b"+x["A"]+r"\b", "").strip(), axis=1)

最佳答案 试试这个:

x['C'] = x['B'].replace(to_replace=r'\b'+x['A']+r'\b', value='',regex=True)

它基于previous answer,其中someone告诉我如何在熊猫中完成它.我改变了一点以适应当前的情况:)

点赞