使用 str.contains 时是否有等效项?
由于“Sa.”,以下代码错误地将“Said Business School”列在类别中如果我可以创建一个 wordboundary,它就会解决问题。把一个空间搞砸了。我正在使用 pandas,它们是 dfs。我知道我可以使用正则表达式,但只是好奇我是否可以使用字符串来使其更快
gprivate_n = ('Co|Inc|Llc|Group|Ltd|Corp|Plc|Sa |Insurance|Ag|As|Media|&|Corporation')
df.loc[df[df.Name.str.contains('{0}'.format(gprivate_n))].index, "Private"] = 1
最佳答案
这只是正则表达式中的旧 Python 问题,其中 '\b'
应该作为 raw-string 传递r'\b...'
。或者更不理想的是,双重转义 ('\\b'
)。
所以你的正则表达式应该是:
gprivate_n = (r'\b(Co|Inc|Llc|Group|Ltd|Corp|Plc|Sa |Insurance|Ag|As|Media|&|Corporation)')
关于python - 如何在 pandas str.contains 中使用\b 字边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22359962/