Ошибка «ожидаемая ошибка строки или байтового объекта» - PullRequest
0 голосов
/ 20 июня 2020

ниже - это коды, которые я использовал в ноутбуке jupyter. Однако при запуске кода возникает одна ошибка. Не могли бы вы помочь мне отладить ошибку?

def split(string, delimiters= [" ","_",":"], maxsplit=0):
    regexPattern = '|'.join(map(re.escape, delimiters))
    string = re.sub('\d','',string)
    string = re.sub(r'\W+', ' ', string)
    string = camel_case_split(string)
    str_spl = re.split(regexPattern, string, maxsplit)
    return [x for x in str_spl if x != '' and len(x)>1 and x not in beast_labels and x.lower() not in stopwords]
         
documents['split_doc'] = documents['BrandMetric'].apply(lambda x: split(x))
documents['split_clean'] = documents['BrandMetric'].apply(lambda x: split(x))

Ошибка: - ожидаемая ошибка строки или байтового объекта.

1 Ответ

0 голосов
/ 20 июня 2020

Эта ошибка говорит о том, что ожидается, что string будет объектами str или bytes, но это не так. И это происходит, если в вашем столбце documents["BrandMetric"] есть список вместо текста.

Итак, чтобы исправить это, вы можете добавить эту строку в начале вашего split() метода:

def split(string, delimiters= [" ","_",":"], maxsplit=0):
    if type(string) == list:
        string = " ".join(string)
    regexPattern = '|'.join(map(re.escape, delimiters))
    ...
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...