当前位置: 首页 > news >正文

Python作业4 文本词云统计,生成词云

编写程序,统计两会政府工作报告热词频率,并生成词云。

2025两会政府工作报告

import jieba
import wordcloud
from collections import Counter
import re# 读取文件
with open("gov.txt", "r", encoding="gbk") as f:t = f.read()# 分词处理
ls = jieba.lcut(t)# 定义过滤函数
def is_valid_word(word):# 过滤条件:# 1. 长度至少为2个字符(过滤单字)# 2. 只包含中文(\u4e00-\u9fff)# 3. 不是停用词(可选)return (len(word) >= 2 andall('\u4e00' <= char <= '\u9fff' for char in word))# 严格过滤
filtered_words = [word for word in ls if is_valid_word(word)]# 统计词频
word_counts = Counter(filtered_words)# 打印前20个高频词
print("=== 纯中文热词统计 ===")
for word, count in word_counts.most_common(20):print(f"{word}: {count}次")# 生成词云
txt = " ".join(filtered_words)
w = wordcloud.WordCloud(font_path="msyh.ttc",width=1000,height=700,background_color="white",max_words=200  # 限制词云显示的最大词数
)
w.generate(txt)
w.to_file("wordcloud.png")

http://www.dtcms.com/a/140567.html

相关文章:

  • Android 音频架构全解析:从 AudioTrack 到 AudioFlinger
  • 支付APP如何做好网络安全防护?从技术到用户管理的全链路安全策略
  • Mac mini 安装mysql数据库以及出现的一些问题的解决方案
  • 趣味编程之操作系统趣谈
  • VR拍摄要点与技巧有哪些?有哪些最佳实践?
  • Java面试中问单例模式如何回答
  • 理解.NET Core中的配置Configuration
  • MySQL:Join连接的原理
  • vue3+vite 实现.env全局配置
  • 【jenkins】首次配置jenkins
  • Java Web 之 Servlet 100问
  • SonarQube 集成教程
  • 并发设计模式实战系列(2):领导者/追随者模式
  • SS25001-多路复用开关板
  • 010数论——算法备赛
  • 航电系统通信与数据链技术分析
  • 15 nginx 中默认的 proxy_buffering 导致基于 http 的流式响应存在 buffer, 以 4kb 一批次返回
  • 编程常见错误归类
  • 第五届能源工程、新能源材料与器件国际学术会议(NEMD 2025)
  • 使用VHD虚拟磁盘安装双系统,避免磁盘分区
  • 每天学一个 Linux 命令(23):file
  • 电能质量治理解决方案:构建高效、安全的电力系统
  • 前端:uniapp中uni.pageScrollTo方法与元素的overflow-y:auto之间的关联
  • 《软件设计师》复习笔记(11.2)——开发方法、产品线、软件复用、逆向
  • docker部署springboot(eureka server)项目
  • 网安加·百家讲坛 | 刘志诚:AI安全风险与未来展望
  • 8.观察者模式:思考与解读
  • 3D机器视觉激光器在智能制造领域的主要应用
  • 【LeetCode】大厂面试算法真题回忆(61)--组装新的数组
  • 电子电器架构 --- OEM企标中规定ECU启动时间的目的