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

例如:

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

可以看出我想要 column C ,这样它就是 B 减去 A 的内容。请注意第三个示例,其中 fly 后跟一个逗号,因此它还应该考虑标点符号(如果代码更倾向于检测周围的空格)。Column 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 告诉我如何在 Pandas 中准确地做到这一点。我稍微改变了一下以适应当前的情况:)

关于python - 删除其他列中出现的单词,Pandas,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22713441/

10-11 22:37
查看更多