如何计算 python 中给定单词的频率
how to count the frequency of a given word in python
我想找出“je”和“nous”这两个词在 75 篇文章中出现的频率。
事实上,我知道如何通过导入 os 等方式一次性制作频率列表。而这次,我需要的,只是这两个词各自出现的频率。
并且我尝试更改制作频率列表的代码以实现我的目标但失败了。
这是我的部分代码:
wordlist_freq={}
for word in all_words:
if word in wordlist_freq.keys():
wordlist_freq[word] +=1
else:
wordlist_freq[word] =1
freq = {}
freq['je']=wordlist_freq['je']
freq['nous']=wordlist_freq['nous']
output[name]=wordlist_freq.items()
它显示 KeyError: 'je'
我实在是看不懂,我现在的想法太蠢了,因为我想做一个频率表,然后把“je”和“nous”的频率加进去。应该有一些更简单的解决方案!!!
请帮帮我~谢谢!!!
您可以为此使用集合中的计数器
from collections import Counter
word_list = ["hi", "hi", "je", "nous", "hi", "je", "je"]
wordlist_freq = Counter(word_list)
为了得到一个词的频率,你可以使用这样的get方法
wordlist_freq.get("je", 0)
我更喜欢使用 get 而不是方括号,因为当单词在 Counter 对象中不存在时,get 可以 return 默认值。
如果您选择不使用 Counter 并想使用您在 Q 中共享的循环,您仍然可以这样做。但是请确保您对字典使用 get
方法来处理字典中不存在单词的情况。
我想找出“je”和“nous”这两个词在 75 篇文章中出现的频率。
事实上,我知道如何通过导入 os 等方式一次性制作频率列表。而这次,我需要的,只是这两个词各自出现的频率。
并且我尝试更改制作频率列表的代码以实现我的目标但失败了。
这是我的部分代码:
wordlist_freq={}
for word in all_words:
if word in wordlist_freq.keys():
wordlist_freq[word] +=1
else:
wordlist_freq[word] =1
freq = {}
freq['je']=wordlist_freq['je']
freq['nous']=wordlist_freq['nous']
output[name]=wordlist_freq.items()
它显示 KeyError: 'je'
我实在是看不懂,我现在的想法太蠢了,因为我想做一个频率表,然后把“je”和“nous”的频率加进去。应该有一些更简单的解决方案!!!
请帮帮我~谢谢!!!
您可以为此使用集合中的计数器
from collections import Counter
word_list = ["hi", "hi", "je", "nous", "hi", "je", "je"]
wordlist_freq = Counter(word_list)
为了得到一个词的频率,你可以使用这样的get方法
wordlist_freq.get("je", 0)
我更喜欢使用 get 而不是方括号,因为当单词在 Counter 对象中不存在时,get 可以 return 默认值。
如果您选择不使用 Counter 并想使用您在 Q 中共享的循环,您仍然可以这样做。但是请确保您对字典使用 get
方法来处理字典中不存在单词的情况。