熊猫包含不匹配的完整字符串

时间:2019-01-25 23:40:32

标签: pandas contains

我为此func_inner使用此TimeourError函数遇到麻烦。为什么它不匹配我的字符串?显然.contains具有字符串。它仅与“首席”匹配。

df

1 个答案:

答案 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))