Python 2.7 如何从python文档中查找特定单词的频率?
我想从文本文件中找出特定单词的频率。假设在我的文档中有一行“this is me is is”如果我输入'is',则输出应为3如果我的输入为'me',则输出应为1。我正在尝试这个代码Python 2.7 如何从python文档中查找特定单词的频率?,python-2.7,count,file-handling,vsm,Python 2.7,Count,File Handling,Vsm,我想从文本文件中找出特定单词的频率。假设在我的文档中有一行“this is me is is”如果我输入'is',则输出应为3如果我的输入为'me',则输出应为1。我正在尝试这个代码 import re doc1 = re.findall(r'\w+', open('E:\doc1.txt').read().lower()) words = raw_input("Input Number :: ") docmtfrequency1 = words.count(w
import re
doc1 = re.findall(r'\w+', open('E:\doc1.txt').read().lower())
words = raw_input("Input Number :: ")
docmtfrequency1 = words.count(words)
但是它没有提供所需的输出集合。如果我理解您的问题,Counter()已经涵盖了这一点。
文档中的示例似乎与您的问题相匹配
# Tally occurrences of words in a list
cnt = Counter()
for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
cnt[word] += 1
print cnt
# Find the ten most common words in Hamlet
import re
words = re.findall('\w+', open('hamlet.txt').read().lower())
Counter(words).most_common(10)
根据以上示例,您应该能够做到:
import re
import collections
words = re.findall('\w+', open('1976.03.txt').read().lower())
print collections.Counter(words)
幼稚的方法显示了一种方式
wanted = "fish chips steak"
cnt = Counter()
words = re.findall('\w+', open('1976.03.txt').read().lower())
for word in words:
if word in wanted:
cnt[word] += 1
print cnt
应该是doc1.count(words)
。words.count(words)
应该做什么?