利用jieba库和wordcloud库,进行中文词频统计并利用词云图进行数据可视化

利用jieba库和wordcloud库,进行中文词频统计并利用词云图进行数据可视化

安装jieba库

  1. 打开cmd输入pip install jieba
  2. 验证:python -m pip list

安装wordcloud

  1. 打开cmd输入pip install wheel
  2. 查看python版本:python
  3. wordcloud下载地址
  4. 选择对应的版本,例如:3.9.7版本的python,选择带39数字的
  5. 打开cmd切换到wordcloud文件的位置
  6. 输入pip install 路径

打开pycharm

  1. 创建项目
  2. pycharm右下角python
  3. 点击解释器设置(倒数第二个)
  4. 点击小齿轮,选择全部显示(第二个)
  5. 点击+号
  6. 选择系统解释器,定位到安装的python
  7. 查看有没有jieba库和wordcloud库
  8. 有就确定,开始编写代码

编写代码

字体文件获取地址

import jieba
import wordcloud
import re
import csv

#文字文件路径
text = open("E:\\python\\text1.txt","r",encoding="utf_8_sig").read()

#正则表达式去除,:。、?“;”()数字以及换行
words = jieba.lcut(re.sub(r'[,:。、?“;”()\n 0-9]',"",text))

#遍历words中所有词语,单个词语不计算在内
counts = {}
for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word,0)+1   #统计次数

#合并列表的元素,成为一个句子
words_1 = ''.join(counts.keys())

#词云图的可视化
#添加字体文件,配置对象参数,文本字体路径,宽度1000,高度700,背景白色
w = wordcloud.WordCloud(font_path="E:\\font\\simsun.ttf",width=1000,height=700,background_color="white")
w.generate(" ".join(jieba.lcut(words_1)))  #加载词云文本
w.to_file("图片路径.png")  #自定义路径

#词频统计
counts = sorted(counts.items(),key = lambda x:x[1],reverse = True)   #排序
f = open('E:\\python\\01.csv','w',newline="")   #newlines=''可保证存储存的数据不空行
writer = csv.writer(f)  #创建初始化写入对象
for count in counts:
    writer.writerow(count)  #一行一行写入
f.close()

'''
参考
jieba
https://blog.csdn.net/jinsefm/article/details/80645588
https://blog.csdn.net/codejas/article/details/80356544


wordcloud
https://mathpretty.com/10951.html
https://blog.csdn.net/kun1280437633/article/details/89474284

re
https://www.runoob.com/python/python-reg-expressions.html

csv
https://www.cnblogs.com/qican/p/11122206.html
https://www.jianshu.com/p/e6768d9af085
'''
  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我来介绍一下如何利用jieba进行中文词频统计,并结合词频统计结果利用wordcloud进行词云图的可视化。 首先,我们需要安装jiebawordcloud,可以使用以下命令进行安装: ``` pip install jieba pip install wordcloud ``` 接下来,我们先来看一下如何使用jieba进行中文分词和词频统计。 ```python import jieba # 加载自定义词典 jieba.load_userdict('user_dict.txt') # 待统计文本 text = '今天天气真好,适合出去玩' # 利用jieba进行分词 seg_list = jieba.cut(text) # 遍历分词结果并统计词频 word_freq = {} for word in seg_list: if len(word) > 1: word_freq[word] = word_freq.get(word, 0) + 1 # 输出词频结果 for word, freq in word_freq.items(): print(word, freq) ``` 上述代码中,我们首先使用`jieba.load_userdict()`方法加载自定义词典(可以是一个txt文件),然后利用`jieba.cut()`方法对待统计的文本进行分词,得到分词结果。接着,我们遍历分词结果,并使用字典记录每个词出现的次数,最后输出词频统计结果。 接下来,我们可以使用wordcloud词频统计结果可视化为词云图。 ```python from wordcloud import WordCloud import matplotlib.pyplot as plt # 构建词云对象 wc = WordCloud(background_color='white', width=800, height=600) # 使用词频统计结果生成词云图 wc.generate_from_frequencies(word_freq) # 显示词云图 plt.imshow(wc) plt.axis('off') plt.show() ``` 上述代码中,我们首先构建了一个词云对象,并指定了词云图的背景颜色、宽度和高度。然后,我们调用`wc.generate_from_frequencies()`方法,将词频统计结果传入,生成词云图。最后,使用`plt.imshow()`方法显示词云图,并调用`plt.axis('off')`方法隐藏坐标轴,最后使用`plt.show()`方法显示词云图。 以上就是利用jieba进行中文词频统计,并结合wordcloud进行词云图可视化的方法。需要注意的是,在实际应用中,我们需要针对不同的文本进行适当的参数调整,以得到更好的词云效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值