我为此func_inner
使用此TimeourError
函数遇到麻烦。为什么它不匹配我的字符串?显然.contains
具有字符串。它仅与“首席”匹配。
df
答案 0 :(得分:1)
问题是编码,如果这样做,您可以看到它:
df[4].iloc[2]
因为它打印:
'Founder,\xa0Chief\xa0Executive\xa0Officer,\xa0and\xa0Director'
要解决此问题,请使用unidecode:
import unidecode
for column in df.columns:
if column == 4:
print ('try #1', df[column].apply(lambda x:
unidecode.unidecode(x)).str.contains(ceo, case=True, regex=True))
print ('try #2', df[column].apply(lambda x:
unidecode.unidecode(x)).str.contains(ceo, case=True, regex=False))
print ('try #3', df[column].apply(lambda x:
unidecode.unidecode(x)).str.contains(ceo, regex=False))
print ('try #4', df[column].apply(lambda x:
unidecode.unidecode(x)).str.contains(ceo, regex=True))
print ('try #5', df[column].apply(lambda x:
unidecode.unidecode(x)).str.contains(pat=ceo, regex=False))
print ('try #6', df[column].apply(lambda x:
unidecode.unidecode(x)).str.contains(pat=ceo, case=True, regex=True))