Я пытаюсь вычислить частоту слов для кадра данных обмена сообщениями с помощью TF-IDF. Пока у меня есть это
import nltk
from sklearn.feature_extraction.text import TfidfVectorizer
new_group['tokenized_sents'] = new_group.apply(lambda row: nltk.word_tokenize(row['message']),axis=1).astype(str).lower()
vectoriser=TfidfVectorizer()
new_group['tokenized_vector'] = list(vectoriser.fit_transform(new_group['tokenized_sents']).toarray())
Однако с кодом выше я получаю кучу нулей вместо частоты слов. Как я могу это исправить, чтобы получить правильное количество сообщений для сообщений. Это мой фрейм данных
user_id date message tokenized_sents tokenized_vector
X35WQ0U8S 2019-02-17 Need help ['need','help'] [0.0,0.0]
X36WDMT2J 2019-03-22 Thank you! ['thank','you','!'] [0.0,0.0,0.0]