python红楼梦词频
时间: 2024-05-09 16:13:43 浏览: 11
《红楼梦》是中国古典文学的经典之作,也是世界文学宝库中的瑰宝。Python是一种流行的编程语言,可以用来处理文本数据。因此,我们可以使用Python来分析《红楼梦》中的词频。
在Python中,我们可以使用jieba库来进行中文分词,并使用collections库中的Counter函数来计算词频。以下是示例代码:
```
import jieba
from collections import Counter
# 读取《红楼梦》文本文件
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba库进行中文分词,并去除停用词
stopwords = ['的', '了', '和', '是', '在', '也', '有', '不', '为', '之', '而', '与', '则', '乃', '其']
words = [word for word in jieba.cut(text) if word not in stopwords]
# 使用Counter函数计算词频并输出前20个词
word_counts = Counter(words)
for word, count in word_counts.most_common(20):
print(word, count)
```
以上代码将输出《红楼梦》中出现频率最高的20个词及其出现次数。
相关问题
python红楼梦词频统计
使用Python进行红楼梦的词频统计需要使用jieba库来进行中文分词。以下是一个简单的代码示例,可以实现对红楼梦文本中的单词进行词频统计:
```python
import jieba
txt = open("G:\\红楼梦.txt","r",encoding="utf-8")
words = jieba.lcut(txt.read())
a = {}
for word in words:
if len(word) == 1:
continue
else:
a[word] = a.get(word,0) + 1
items = list(a.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(15):
word, count = items[i]
print("{0:<10}{1:>5}".format(word, count))
txt.close()
```
这段代码的具体步骤如下:
1. 打开红楼梦.txt文件,采用UTF-8编码方式读取。
2. 使用jieba库的精准模式将红楼梦文本分词,并将分词结果保存到words列表中。
3. 创建一个空字典a,用于统计每个单词的出现次数。遍历words列表,对每个单词进行统计。
4. 将字典a转换为有序的列表items,并按照每个单词出现次数的降序进行排序。
5. 输出排序结果中的前15个单词以及对应的出现次数。
红楼梦词频统计python代码
红楼梦是中国古典小说的代表作之一,其中充满着生动的描写和精美的词汇,因此对于语言处理的爱好者来说,对红楼梦的词频统计也是一个有趣的任务。使用Python可以轻松完成这个任务,下面是一个简单的红楼梦词频统计Python代码:
```Python
import jieba
from collections import Counter
#读取红楼梦文本文件
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
#使用jieba分词
words = jieba.cut(text)
#统计词频
counter = Counter(words)
#打印出出现频率最高的前十个词
for word, cnt in counter.most_common(10):
print(word, cnt)
```
上述代码使用了jieba库对红楼梦文本进行分词,然后使用collections.Counter类对分词结果进行词频统计。最后,打印出出现频率最高的前十个词,可以方便地得出红楼梦中的关键词汇。需要注意的是,在运行代码前,需要将红楼梦文本文件hongloumeng.txt放在同一目录下。