TypeError: ожидаемая строка или байтовоподобный объект;Я видел похожие посты, но у меня нет данных в моих данных - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь очистить свои текстовые данные в электронной таблице, и у них нет NA.Я сталкиваюсь с этой ошибкой: TypeError: expected string or bytes-like object.

import nltk
import numpy as np
import pandas as pd
from nltk.stem import PorterStemmer
from nltk.stem import WordNetLemmatizer
from nltk.corpus import stopwords

paragraph=pd.read_excel("..")
paragraph.info()
paragraph['Subject'].dropna(inplace=True)
sentence = paragraph['Subject'].apply(nltk.sent_tokenize)

lemmatizer=WordNetLemmatizer()

# lemmatizer 

for i in range(len(sentence)):
    words=nltk.word_tokenize(sentence[i])
    words=[lemmatizer.lemmatize(word) for word in words if word not in set(stopwords.words('english'))]
    sentence[i]=' '.join(words)

Я получаю эти ошибки ниже.Traceback (последний вызов был последним):

File "<ipython-input-20-95ed150df96b>", line 11, in <module>
words=nltk.word_tokenize(sentence[i])

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\__init__.py", line 143, in word_tokenize
sentences = [text] if preserve_line else sent_tokenize(text, language)

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\__init__.py", line 105, in sent_tokenize
return tokenizer.tokenize(text)

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\punkt.py", line 1269, in tokenize
return list(self.sentences_from_text(text, realign_boundaries))

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\punkt.py", line 1323, in sentences_from_text
return [text[s:e] for s, e in self.span_tokenize(text, realign_boundaries)]

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\punkt.py", line 1323, in <listcomp>
return [text[s:e] for s, e in self.span_tokenize(text, realign_boundaries)]

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\punkt.py", line 1313, in span_tokenize
for sl in slices:

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\punkt.py", line 1354, in _realign_boundaries
for sl1, sl2 in _pair_iter(slices):

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\punkt.py", line 317, in _pair_iter
prev = next(it)

File "C:\Users\320055025\AppData\Local\Continuum\anaconda3\lib\site-packages\nltk\tokenize\punkt.py", line 1327, in _slices_from_text
for match in self._lang_vars.period_context_re().finditer(text):

TypeError: expected string or bytes-like object

1 Ответ

0 голосов
/ 29 марта 2019

Это может работать:

words=nltk.word_tokenize(str(sentence[i]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...