我正在尝试在df列中找到一个子字符串首席。它与split()
可以在带有空格的文本上正常工作,但不能与find()
一起正常工作。
sum(df['JobTitle'].apply(lambda x :'chief' in x.lower().split() ))
sum(df['JobTitle'].apply(lambda x : x.lower().find('chief') ==1))
能否请您重点介绍find
使用中的问题?
答案 0 :(得分:0)
您可以尝试使用re
:
import re
# if it appears, add 1, else add 0
sum(df['JobTitle'].apply(lambda x : int(bool(re.findall(r'\bchief\b', x.lower()))))
# add the number of times the word appears
sum(df['JobTitle'].apply(lambda x : len(re.findall(r'\bchief\b', x.lower())))
编辑
如果您想捕获chief
而不是里面带有首长的单词,例如mischief
,请使用r'\bchief\b'