python中用jieba库编程对指定中文段落中的每个词统计词频并输出。 txt="'那些最能干的人,往往是那些即使在最绝望的环境里,仍不断传送成功意念的人。他们不但鼓舞自己,也振奋他人,不达成功,誓不休止。”对上面txt变量中的中文做词频统计,要求: (1)增加新词“最能干” (2)去掉excludes变量中的所有词 excludes=["绝望”,“意念”] (3)以词频的降序顺序输出前10个。 (4)所有标点符号都不做统计,并解读
时间: 2024-02-28 12:52:35 浏览: 59
可以使用以下代码实现对指定中文段落中的每个词统计词频并输出:
```python
import jieba
from collections import Counter
txt = '那些最能干的人,往往是那些即使在最绝望的环境里,仍不断传送成功意念的人。他们不但鼓舞自己,也振奋他人,不达成功,誓不休止。'
excludes = ['绝望', '意念']
# 加载自定义词典
jieba.load_userdict('userdict.txt')
# 分词并统计词频
words = [word for word in jieba.cut(txt) if word not in excludes and word != ' ']
word_counts = Counter(words)
# 输出前10个词频最高的词
for word, count in word_counts.most_common(10):
print(word, count)
```
其中,jieba库是一款常用的中文分词库,可以将中文文本按词语进行分割,并去除停用词(如excludes中的词)。Counter是python内置的一个用来统计元素个数的类,可以快速统计每个词出现的频率。
以上代码中,我们首先加载自定义词典userdict.txt,该词典包含了新词“最能干”。接着,我们使用jieba库对txt进行分词,并去除停用词和空格。然后,使用Counter对分词结果进行词频统计,并按照降序顺序输出前10个词频最高的词。
需要注意的是,以上代码中标点符号并未被统计,这是因为在分词过程中,jieba库默认会去除标点符号。此外,代码中还需要解决编码问题,以确保能够正确地处理中文文本。
阅读全文