对哈姆雷特英文文本词频统计python代码
时间: 2024-10-13 15:17:00 浏览: 31
对《哈姆雷特》这本英文原著进行词频统计,你可以使用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部分
相关问题
写一个哈姆雷特词频统计python代码
以下是一个简单的哈姆雷特词频统计 Python 代码示例:
```
import string
# 打开文本文件并读取内容
with open('hamlet.txt', 'r') as file:
text = file.read()
# 将文本转换为小写并去除标点符号
text = text.lower().translate(str.maketrans('', '', string.punctuation))
# 将文本拆分为单词列表
words = text.split()
# 创建一个空字典来存储单词计数
word_count = {}
# 遍历单词列表并计数每个单词出现的次数
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 按单词出现次数从高到低排序并打印结果
for word, count in sorted(word_count.items(), key=lambda x: x[1], reverse=True):
print(f'{word}: {count}')
```
在这个示例代码中,我们首先使用 Python 的 `with` 语句打开并读取了一个名为 `hamlet.txt` 的文本文件。然后,我们将文本转换为小写并去除标点符号,这样可以使单词的计数更加准确。接着,我们使用 `split()` 方法将文本拆分为单词列表,并创建一个空字典来存储单词计数。最后,我们遍历单词列表并对每个单词计数,最终按单词出现次数从高到低排序并打印结果。
写一个哈姆雷特词频统计Python代码
以下是一个简单的Python代码,用于对哈姆雷特文本进行词频统计:
```python
import string
# 打开文本文件并读取内容
with open('hamlet.txt', 'r') as file:
text = file.read()
# 将文本转换为小写并删除标点符号
text = text.lower()
text = text.translate(str.maketrans('', '', string.punctuation))
# 将文本拆分为单个单词
words = text.split()
# 创建一个空字典来存储每个单词的出现次数
word_counts = {}
# 计算每个单词的出现次数并将其存储在字典中
for word in words:
if word not in word_counts:
word_counts[word] = 1
else:
word_counts[word] += 1
# 按出现次数从高到低对单词进行排序
sorted_words = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
# 输出前10个单词及其出现次数
for word, count in sorted_words[:10]:
print(word, count)
```
请注意,此代码假定文本文件名为`hamlet.txt`。您需要将文件名替换为您自己的文本文件名。此外,此代码仅考虑单个单词,因此可能无法正确处理某些单词形式(例如名词的复数形式或动词的时态形式)。
阅读全文