python,Hamlet英文词频统计以及《三国演义》人物出场统计。
时间: 2023-09-13 14:12:41 浏览: 168
Python之词频统计
好的,我可以为您提供一些帮助。
首先,要进行Hamlet英文词频统计,您需要有Hamlet的英文文本文件。假设您已经有了这个文件,您可以使用Python中的`collections`模块中的`Counter`类来实现词频统计。以下是一个示例代码:
```python
import collections
with open('hamlet.txt', 'r') as f:
text = f.read()
words = text.lower().split()
word_counts = collections.Counter(words)
print(word_counts.most_common(10)) # 输出出现频率最高的前10个单词
```
这个代码将Hamlet文本文件读取到变量`text`中,将所有单词转换为小写,并使用`collections.Counter`类对单词进行计数。最后,它将输出出现频率最高的前10个单词。
接下来,要进行《三国演义》人物出场统计,您需要有《三国演义》的中文文本文件。同样假设您已经有了这个文件,您可以使用Python中的`re`模块来实现人物出场统计。以下是一个示例代码:
```python
import re
import collections
with open('sanguo.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用正则表达式匹配人物名称
pattern = re.compile('[\u4e00-\u9fa5]{2,4}(?:·[\u4e00-\u9fa5]{2,4})*')
names = pattern.findall(text)
# 对人物进行计数
name_counts = collections.Counter(names)
print(name_counts.most_common(10)) # 输出出现次数最多的前10个人物
```
这个代码将《三国演义》文本文件读取到变量`text`中,使用正则表达式匹配人物名称,并使用`collections.Counter`类对人物进行计数。最后,它将输出出现次数最多的前10个人物。
希望这些代码可以对您有所帮助!
阅读全文