![](/img/trans.png)
[英]How to use str.contains() with multiple expressions, in pandas dataframes?
[英]How to use \b word boundary in pandas str.contains?
使用 str.contains 时是否有等价物?
以下代码因“Sa”而错误地将“Said Business School”列在类别中。 如果我可以创建一个词界,它就会解决这个问题。 在搞砸之后放一个空格。 我正在使用熊猫,这是 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
这与正则表达式中'\\b'
旧 Python 问题相同,其中'\\b'
应该作为原始字符串r'\\b...'
传递。 或者不太理想,双重转义( '\\\\b'
)。
所以你的正则表达式应该是:
gprivate_n = (r'\b(Co|Inc|Llc|Group|Ltd|Corp|Plc|Sa |Insurance|Ag|As|Media|&|Corporation)')
单词边界不是字符,因此您无法使用.contains
找到它。 您需要使用正则表达式或将字符串拆分为单词,然后检查您当前在gprivate_n
定义的集合中每个单词的成员资格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.