问题描述
我下载了Facebook Messenger数据,并试图对其进行分析。 所以我的目标是知道所有消息中单词出现的次数。 我将JSON文件转换为pandas Dataframe,并且有一个包含所有消息的列。 我将“消息”列转换为列表,并尝试使用NLTK来计数单词。
from nltk.tokenize import word_tokenize
from nltk.probability import Freqdist
mylist = df['content'].tolist()
tok_words = [word_tokenize(i) for i in mylist]
但是问题是当我尝试使用Freqdist时,它显示错误“ TypeError:不可散列的类型:'list'“
fdist = Freqdist(tok_words)
fdist.most_common(5)
当尝试使用它对我有用
fdist = Freqdist(tok_words[0])
fdist.most_common(5)
解决方法
尝试:
fdist = FreqDist()
for words in tok_words:
fdist.update(FreqDist(words))
fdist.most_common(5)