【问题标题】:Facebook messenger analysis using jupyter Notebook使用 jupyter Notebook 进行 Facebook Messenger 分析
【发布时间】:2020-12-29 09:45:48
【问题描述】:

我下载了 Facebook Messenger 数据并尝试对其进行分析。 所以我的目标是知道一个单词在所有消息中出现的次数。 我将 JSON 文件转换为 pandas 数据框,并且有一列包含所有消息。 我将消息列转换为列表,并尝试使用 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: unhashable type: 'list'”

fdist = FreqDist(tok_words)
fdist.most_common(5)

当我尝试这个时,它对我有用

fdist = FreqDist(tok_words[0])
fdist.most_common(5)

我想使用 FreqDist 对所有列表进行排序,而不仅仅是对第一个索引。

【问题讨论】:

  • 您能否提供一个具有预期结果的示例数据框?

标签: pandas nlp nltk tokenize


【解决方案1】:

试试:

fdist = FreqDist()
for words in tok_words:
    fdist.update(FreqDist(words))
fdist.most_common(5)

【讨论】:

    猜你喜欢
    • 2017-08-22
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 2019-07-09
    • 2017-11-27
    • 2017-10-03
    • 1970-01-01
    • 2020-05-18
    相关资源
    最近更新 更多