一文带你掌握Python中文词频统计

yizhihongxing

一文带你掌握Python中文词频统计

介绍

针对中文的文本数据进行分析,通常需要进行中文分词以及词频统计。本文将通过Python编程实现中文词频统计的完整攻略。

分词工具

常用的分词工具有jieba、pkuseg等。本文以jieba作为分词工具

import jieba

text = "今天是个好日子,天气非常的好"
seg_list = jieba.cut(text)
print("分词结果:", '/'.join(seg_list))

输出结果: 今天/是个/好日子/,/天气/非常/的/好

词频统计

统计分词后的词语出现次数,可以使用Python中的collections模块的Counter类。

from collections import Counter

counter = Counter(['apple', 'banana', 'apple', 'orange', 'apple', 'banana'])
print(counter)

输出结果: Counter({'apple': 3, 'banana': 2, 'orange': 1})

将分词结果转换为List并传入Counter类,即可得到每个词语出现的次数。

完整代码

import jieba
from collections import Counter

text = "今天是个好日子,天气非常的好"
seg_list = jieba.cut(text)
print("分词结果:", '/'.join(seg_list))

seg_list = list(jieba.cut(text))
counter = Counter(seg_list)
print("词频统计结果:", counter)

输出结果:

分词结果: 今天/是个/好日子/,/天气/非常/的/好

词频统计结果: Counter({'好': 2, '今天': 1, '是个': 1, '日子': 1, ',': 1, '天气': 1, '非常': 1, '的': 1})

示例说明

示例1

分析一段新闻文本中的高频词。

import jieba
from collections import Counter

text = "新华社北京12月10日电 记者从中国铁路总公司获悉,12月10日铁路将迎来一年内客流最高峰之一。“十一”黄金周期间,全国铁路日均发送旅客1067.6万人次。"
seg_list = list(jieba.cut(text))
count = Counter(seg_list)

top_10 = count.most_common(10) # 获取出现次数最多的10个词语
print(top_10)

输出结果: [(',', 2), ('铁路', 2), ('12月10日', 2), ('电', 1), ('获悉', 1), ('将', 1), ('迎来', 1), ('一年', 1), ('内', 1), ('客流', 1)]

从结果中可以看出,该新闻文本中高频出现的词语为“铁路”和“12月10日”。

示例2

统计一篇文章中的高频词,并将结果可视化展示。

import jieba
from collections import Counter
import matplotlib.pyplot as plt
from wordcloud import WordCloud

with open('article.txt', 'r', encoding='utf-8') as f: # article.txt为文章文件路径
    text = f.read()

seg_list = list(jieba.cut(text))
count = Counter(seg_list)

top_10 = count.most_common(10)
print(top_10)

# 生成词云
wordcloud = WordCloud(background_color='white', font_path="msyh.ttc").generate_from_frequencies(dict(top_10))
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

输出结果: [('的', 67), ('在', 37), ('中国', 25), ('和', 24), ('是', 22), ('了', 22), ('市场', 18), ('公司', 17), ('年', 16), ('发展', 16)]

同时,还会生成一个可视化的词云图。

结论

通过以上的代码示例,我们可以了解到,使用jieba分词和collections模块的Counter类可以实现简单的中文词频统计并可视化。对于更加复杂的分析需求,可以考虑使用更加强大的NLP工具例如NLTK、Stanford NLP等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你掌握Python中文词频统计 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 详解python tkinter 图片插入问题

    本文主要介绍如何使用Python的Tkinter库插入图片,包含导入图片、缩放图片、调整图片大小以及将图片插入到Tkinter窗口等操作。 导入图片 使用PIL库(Python Imaging Library)里的Image模块,可以很简单地导入图片。 from PIL import ImageTk, Image img = Image.open(&quot…

    python 2023年6月13日
    00
  • Python Learning 列表的更多操作及示例代码

    PythonLearning列表的更多操作及示例代码 列表的常用方法 Python中的列表(List)是一种有序、可变、元素可重复的集合数据类型。以下是Python列表常用的方法。 append(): 在列表末尾添加新的元素 extend(): 通过将新的列表中的元素依次添加到原列表末尾来扩展列表 insert(): 在列表中指定位置插入元素 remove(…

    python 2023年5月14日
    00
  • python实现批量文件重命名

    下面是Python实现批量文件重命名的完整攻略,包含以下步骤: 步骤一:确定重命名规则 在准备批量重命名之前,首先需要确定重命名规则。例如,可以将所有文件的文件名改为统一的格式,或者添加前缀、后缀等等。在此,我们将所有文件名改为“file_1, file_2, file_3”这种格式。 步骤二:导入os库 在Python中实现批量重命名,需要使用os库,这个…

    python 2023年6月5日
    00
  • python操作微信自动发消息的实现(微信聊天机器人)

    准备工作 首先需要先安装itchat库,可以通过pip安装: pip install itchat 接着在微信中扫码登录,代码如下: import itchat itchat.auto_login(hotReload=True) # 运行代码后会出现一个二维码,扫描即可登录微信 实现自动回复功能 为了实现自动回复功能,需要在itchat库的基础上编写一个回调…

    python 2023年5月19日
    00
  • Python 遗传算法处理TSP问题详解

    Python 遗传算法处理TSP问题详解 简介 TSP(Traveling Salesman Problem)是指给定n个城市,求出一条路径,使得一名旅行商人从起点出发,途经每个城市恰好一次,最终回到起点,且路径长度最短。 遗传算法是一种通过模拟进化过程来进行优化问题求解的算法。在TSP问题中,使用遗传算法可以寻求出一条近似于最优解的路径。 解决步骤 初始化…

    python 2023年6月3日
    00
  • Python requests设置代理的方法步骤

    以下是关于Python requests设置代理的方法步骤的攻略: Python requests设置代理的方法步骤 在进行网络爬虫开发时,经常需要使用代理来访问目标网站。Python的requests库提供了设置代理的功能,可以轻松实现。以下是Python requests设置代理的方法步骤的攻略。 使用proxies参数设置代理 使用proxies参数可…

    python 2023年5月14日
    00
  • python基于win32api实现键盘输入

    Python基于win32api实现键盘输入的攻略如下: 安装pywin32库 在Python中使用win32api需要安装pywin32库。打开终端窗口输入以下命令进行安装: pip install pywin32 导入所需库 使用win32api需要导入三个库: import win32api import win32con import time wi…

    python 2023年5月19日
    00
  • python 对xml解析的示例

    在Python中,可以使用xml模块对XML文档进行解析。以下是Python对XML解析的详细攻略: 解析XML文档 要解析XML文档,可以使用xml.etree.ElementTree模块。以下是解析XML文档的示例: import xml.etree.ElementTree as ET tree = ET.parse(‘example.xml’) roo…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部