#python #pandas #nlp #tokenize
Вопрос:
tokenizer=Tokenizer(num_words=1000, split=' ')
tokenizer.fit_on_texts(d['column'].values)
x=tokenizer.texts_to_sequences(d['column'].values)
В столбце POS_words у меня есть все предложения, имеющие навыки (C#, Office365,…), есть некоторые nos. 91.
Я хочу преобразовать его в массив, но он выдает ошибку
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-7-a59a11ef92f5> in <module>()
1 tokenizer=Tokenizer(num_words=1000, split=' ')
----> 2 tokenizer.fit_on_texts(d['POS_words'].values)
3
4 x=tokenizer.texts_to_sequences(d['POS_words'].values)
5 #xtest=tokenizer.texts_to_sequences(test['POS_words'].values)
1 frames
/usr/local/lib/python3.7/dist-packages/keras_preprocessing/text.py in text_to_word_sequence(text, filters, lower, split)
41 """
42 if lower:
---> 43 text = text.lower()
44
45 if sys.version_info < (3,):
AttributeError: 'int' object has no attribute 'lower'
Пожалуйста, скажите мне, как это исправить
Комментарии:
1. В них есть int,
d['POS_words']
они должны быть строками. Нельзяlower()
и int:[s.lower() for s in ['test', 5]]
2. У вас есть пример ввода и вывода? Это облегчит понимание того, что вы хотите сделать.
3. @BernardoTrindade Я тренирую свои данные с помощью LSTM, поэтому мне нужны nos. в предложениях. Если я хочу определить навыки, мне нужно иметь Office365 и ( 91 не навык)
4. @It_is_Chris Я не понимаю, что ты пытаешься сказать. Я не могу удалить этот int вчера он работал нормально, я мог тренироваться, но внезапно сегодня, когда я попытался выполнить эту команду, я получаю ошибку
Ответ №1:
Вопрос решен
d['column']=d['column'].astype(str)