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

一文带你掌握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技术站

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

相关文章

  • python借助ChatGPT读取.env实现文件配置隔离保障私有数据安全

    当我们开发应用程序时,有时需要读取一些私有配置信息,例如数据库连接信息、API密钥等。这些信息通常不能公开,因此我们需要将其存储在.env文件中,并且应用程序只能从这个文件中读取这些配置信息。在这个过程中,我们需要保证私有数据的安全性。 ChatGPT是一个自然语言处理模型,我们可以使用它来解析我们的输入,并执行一些命令。在这个场景中,我们可以使用ChatG…

    python 2023年5月23日
    00
  • 带有变量赋值的 Python 隐式 if 语句——这是如何工作的? [复制]

    【问题标题】:Python Implicit if statement with variable assignment — How does this work? [duplicate]带有变量赋值的 Python 隐式 if 语句——这是如何工作的? [复制] 【发布时间】:2023-04-02 05:08:01 【问题描述】: 我在上个月开始学习 p…

    Python开发 2023年4月8日
    00
  • Python读取视频的两种方法(imageio和cv2)

    Python读取视频有很多方法,其中比较常用的两种方法分别是:imageio和cv2。下面将分别详细讲解这两种方法的使用步骤和示例代码。 一、使用imageio读取视频 1. 安装imageio 使用pip命令安装imageio: pip install imageio 2. 读取视频文件 读取视频文件需要用到imageio的imread函数。示例代码如下:…

    python 2023年5月18日
    00
  • 带有特殊字符的 Python 3.5 csv 解析

    【问题标题】:Python 3.5 csv parsing with special characters带有特殊字符的 Python 3.5 csv 解析 【发布时间】:2023-04-01 15:16:01 【问题描述】: 我有一个文件,我想将其解析为 csv。该文件是一个导出文件,并以以下格式(逐行,每个文件包含数千行)到达我这里: 03:30:30 …

    Python开发 2023年4月8日
    00
  • 使用python写一个自动浏览文章的脚本实例

    使用Python编写自动浏览文章的脚本可以使用Selenium库来模拟用户的行为,这样可以避免繁琐的手动操作,提高效率。 下面是简单的步骤: 安装Selenium库 使用pip安装Selenium库,打开命令行窗口输入以下命令: pip install selenium 安装浏览器驱动程序 Selenium需要使用浏览器驱动程序来模拟用户对浏览器的操作。需要…

    python 2023年5月19日
    00
  • python创建列表并给列表赋初始值的方法

    在Python中,可以使用多种方式来创建列表并给列表赋初始值。本攻略将详细介绍Python创建列表并给列表赋初始值的方法,包括使用列表式、使用list()函数、使用*运算符等方法。 使用列表导式 在Python中,可以使用导式的方式来创建并给列表赋初始值。以下是一些示例代码: # 创建一个包含1到5的列表 my_list = [i for i in rang…

    python 2023年5月13日
    00
  • 用Python将IP地址在整型和字符串之间轻松转换

    将IP地址转换为整型或字符串是在网络编程和数据库等领域中经常使用的操作。Python提供了一些内置函数和标准库来实现这种转换。下面是详细的攻略: IP地址的整型和字符串表示 IP地址是计算机网络中的一个重要概念,表示的是网络中一个节点的地址。在IPv4中,IP地址通常是通过四个十进制数表示,例如:192.168.0.1。而在计算机中,IP地址通常被转换成一个…

    python 2023年5月19日
    00
  • 在IPython中进行Python程序执行时间的测量方法

    在IPython中进行Python程序执行时间的测量方法称为“计时器(timer)”。下面是实现计时器的两种方法及具体步骤: 方法1:使用timeit模块 在IPython中导入timeit模块 import timeit 创建一个包含需要测量执行时间的代码的字符串 code_to_test = """ your code he…

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