![](/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.