【问题标题】:How to compute the frequency of words in a file in Python?如何在 Python 中计算文件中单词的频率?
【发布时间】:2020-04-06 08:35:10
【问题描述】:

我正在读取每个文件中的单词并将它们存储在一个列表中。

我能够计算出每个单词在该文件中出现的次数。

这是我的代码。

for name in files:
    if name.endswith(".txt"):
        with open(name, "r") as word_list:
             words = word_list.read().split()

        counts = Counter(words)

        labels, values = zip(*counts.items())

        labels = np.array(labels)
        values = np.array(values)

这个代码和我的进一步代码结合,产生一个数字的直方图

这个词出现了。这是我数单词的地方。

我需要将每个单词的出现次数除以文件中的总单词数以获得离散分布。

我怎样才能实现这个目标?


(原标题:Python。如何获取文件中单词的平均数?

【问题讨论】:

  • 您是在寻找中位数还是平均值?
  • 它是每个单词的计数除以文件中的总单词数。应该对每个元素都这样做。他们的频率除以总词数
  • “平均单词”是什么意思?
  • 是的。我的代码只生成每个单词的总数。我需要将每个元素的每个数量除以总数
  • 您在编写该代码时遇到了哪些困难?您可以使用 length 和 sum 方法为您提供所需的数据。

标签: python arrays list mean


【解决方案1】:

正如您自己建议的那样,频率由以下简单给出:

total = np.sum(values)
freqs = values / total

(可以合并,我这样写是为了更清楚)

我不确定这与“平均词数”有什么关系,不管它是什么意思。

【讨论】:

  • 谢谢!赞赏!
  • @TwinDream 如果对你有帮助,请采纳这个答案
猜你喜欢
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 2017-04-03
  • 2015-06-14
  • 2016-01-23
  • 2015-06-06
  • 2011-07-21
相关资源
最近更新 更多