python中文词频统计代码
以下是一个简单的Python代码,用于统计中文文本中每个词出现的频率:
import jieba
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词
words = jieba.cut(text)
# 统计词频
word_freq = {}
for word in words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
# 输出结果
for word, freq in word_freq.items():
print(word, freq)
需要注意的是,上述代码需要先安装jieba库,可以使用以下命令进行安装:
pip install jieba
接下来我会进一步解答这个问题。
上述代码中,我们使用了jieba库进行中文分词。jieba是一个优秀的中文分词库,可以将中文文本分成一个个词语,方便进行后续的词频统计、文本分析等操作。
在代码中,我们首先使用open函数读取文本文件,然后使用jieba.cut函数对文本进行分词。jieba.cut函数返回一个生成器对象,可以通过for循环遍历获取每个词语。
接着,我们使用一个字典word_freq来统计每个词语出现的频率。对于每个词语,我们判断它是否已经在字典中出现过,如果出现过,则将它的频率加1,否则将它添加到字典中,并将它的频率设置为1。
最后,我们遍历字典,输出每个词语及其出现的频率。
需要注意的是,上述代码中的文本文件需要使用utf-8编码,否则可能会出现乱码。如果你的文本文件使用其他编码方式,可以在open函数中指定相应的编码方式。
另外,上述代码只是一个简单的词频统计示例,如果需要进行更复杂的文本分析,可以使用其他库或算法,例如NLTK、Scikit-learn等。