давайте предположим, что это dataframe
data = pd.DataFrame({'text':['some thing', 'word', 'some more text']})
тогда, когда вы запустите свой скрипт, вы должны получить ошибку, потому что вы пропускаете серию, а не строку ...
text = data.loc[:, "text"]
tokenizer = word_tokenize(text)
print(tokenizer)
TypeError: ожидаемая строка или байтовоподобный объект
word_tokenize будет принимать строки, поэтому word_tokenize('some text')
будет работать.поэтому вам нужно перебрать вашу серию:
text = data.loc[:, "text"]
tokenizer = [word_tokenize(text[i]) for i in range(len(text))]
print(tokenizer)
[['some', 'thing'], ['word'], ['some', 'more', 'text']]
, если вы все еще получаете ошибку типа, тогда, скорее всего, не каждое значение в data['text']
является строкой.Давайте предположим, что этот фрейм данных теперь:
data = pd.DataFrame({'text':['some thing', 'word', 'some more text', 1]})
выполнение понимания списка на этом фрейме данных не будет работать, потому что вы пытаетесь передать int
в word_tokenize
, однако, если вы измените вседля строки это должно работать:
data = pd.DataFrame({'text':['some thing', 'word', 'some more text', 1]})
data['text'] = data['text'].astype(str)
text = data.loc[:, "text"]
tokenizer = [word_tokenize(text[i]) for i in range(len(text))]
print(tokenizer)
[['some', 'thing'], ['word'], ['some', 'more', 'text'], ['1']]
вы проверяете свои типы по print([type(text[i]) for i in range(len(text))])