如何在Python中计算文件中单词的频率?

如何在Python中计算文件中单词的频率?,python,arrays,list,mean,Python,Arrays,List,Mean,我正在阅读每个文件中的单词,并将它们存储在一个列表中 我能够计算每个单词在该文件中出现的次数 这是我的密码 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 =

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

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

这是我的密码

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。如何获得文件中单词的平均值?

正如您自己所建议的,频率仅由以下公式给出:

total = np.sum(values)
freqs = values / total
(可以合并,我这样写是为了更清楚)


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

你是在寻找中位数还是平均数?它是每个单词的计数除以文件中的单词总数。每个元素都应该这样做。他们的频率除以总词数你说的“平均词数”是什么意思?是的。我的代码只生成每个单词的总数。我需要把每个元素的数字除以总数,你在写代码的过程中遇到了什么困难?您有长度和求和方法来提供所需的数据。谢谢!谢谢@TwinDream如果对你有帮助,请接受这个答案