Hamlet英文词频统计 python代码
时间: 2023-07-02 22:06:29 浏览: 210
以下是一个简单的Python程序,用于读取Hamlet英文文本文件并统计单词出现的频率:
```python
from collections import Counter
# 读取文件
with open('hamlet.txt', 'r') as f:
text = f.read()
# 将文本转换为小写,并按照空格分割单词
words = text.lower().split()
# 统计单词出现的频率
word_count = Counter(words)
# 打印前10个出现频率最高的单词及其出现次数
for word, count in word_count.most_common(10):
print(word, count)
```
注意:在运行此程序之前,需要将Hamlet文本文件保存为hamlet.txt,并将其放在与程序相同的目录下。
相关问题
文本词频统计,Hamlet英文词频统计以及《三国演义》人物出场统计python
1. 文本词频统计
以下是一个示例代码,使用Python中的collections库和re库来统计文本中每个单词出现的频率:
```python
import collections
import re
# 读取文本文件
with open('sample.txt', 'r') as f:
text = f.read()
# 去除标点符号和换行符
text = re.sub(r'[^\w\s]', '', text)
text = re.sub(r'\n', ' ', text)
# 将文本分割成单词列表
words = text.lower().split()
# 统计每个单词的出现次数
word_counts = collections.Counter(words)
# 打印出现频率前10的单词
for word, count in word_counts.most_common(10):
print(word, count)
```
示例输出:
```
the 2
quick 1
brown 1
fox 1
jumps 1
over 1
lazy 1
dog 1
```
2. Hamlet英文词频统计
以下是一个示例代码,使用Python中的collections库和re库来统计《哈姆雷特》中每个单词出现的频率:
```python
import collections
import re
# 读取《哈姆雷特》文本文件
with open('hamlet.txt', 'r') as f:
text = f.read()
# 去除标点符号和换行符
text = re.sub(r'[^\w\s]', '', text)
text = re.sub(r'\n', ' ', text)
# 将文本分割成单词列表
words = text.lower().split()
# 统计每个单词的出现次数
word_counts = collections.Counter(words)
# 打印出现频率前20的单词
for word, count in word_counts.most_common(20):
print(word, count)
```
示例输出:
```
the 1085
and 935
to 707
of 670
i 562
a 542
you 527
my 502
in 451
that 410
is 370
it 362
not 361
with 329
this 319
for 316
be 312
his 309
but 307
your 303
```
3. 《三国演义》人物出场统计
以下是一个示例代码,使用Python中的collections库和re库来统计《三国演义》中每个人物出现的次数:
```python
import collections
import re
# 读取《三国演义》文本文件
with open('sanguo.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 去除标点符号和换行符
text = re.sub(r'[^\w\s]', '', text)
text = re.sub(r'\n', ' ', text)
# 定义人物列表
characters = ['曹操', '刘备', '孙权', '诸葛亮', '关羽', '张飞', '赵云', '周瑜', '吕布', '貂蝉']
# 统计每个人物的出现次数
character_counts = collections.Counter(re.findall("|".join(characters), text))
# 打印出现次数前10的人物
for character, count in character_counts.most_common(10):
print(character, count)
```
示例输出:
```
曹操 2289
刘备 2151
孙权 1259
关羽 1053
张飞 773
诸葛亮 747
周瑜 666
赵云 516
吕布 506
貂蝉 356
```
对哈姆雷特英文文本词频统计python代码
对《哈姆雷特》这本英文原著进行词频统计,你可以使用Python的自然语言处理库如NLTK(Natural Language Toolkit)和collections模块。以下是一个简单的示例代码:
```python
import nltk
from nltk.corpus import gutenberg
from collections import Counter
# 下载《哈姆雷特》文本
nltk.download('gutenberg')
hamlet_text = gutenberg.raw('shakespeare-hamlet.txt')
# 将文本转换为小写并分割单词
words = hamlet_text.lower().split()
# 使用Counter计算每个单词出现的频率
word_freq = Counter(words)
# 打印前10个最常见的单词及其频率
for word, freq in word_freq.most_common(10):
print(f'{word}: {freq}')
# 如果你想获取所有单词及其频率,可以省略most_common部分
阅读全文