【发布时间】:2014-05-07 22:49:17
【问题描述】:
从一个列中的字符串中删除另一列中出现的单词的过程是什么?
例如:
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)
【问题讨论】:
-
A 列是否总是包含一个单词?如果它有更多的单词,我们是否必须在第 2 列中找到确切的字符串作为匹配项?或者它可能是字符串的随机排列?
-
精确匹配,以防有 2 个单词。A 中的“fly there”应该匹配 B 中的“fly there”并将其删除..
标签: python string replace pandas dataframe