Python词频统计代码详解

Python是一门广受欢迎的编程语言,其强大的文本处理能力尤其受到广大学习者和开发者的青睐,词频统计就是Python常用的一种文本处理方法。在本文中,我们将从多个方面详细阐述Python中的词频统计代码,帮助读者初步掌握这一技巧。

一、英文歌Hello词频统计Python代码

我们先从一个简单的例子开始,演示如何使用Python进行英文歌的词频统计。下面是代码示例:

text = "Hello from the other side, I must've called a thousand times"
words = text.split()
freq = {}
for word in words:
    if word in freq:
        freq[word] += 1
    else:
        freq[word] = 1
print(freq)

运行以上代码,会输出一个字典,包含每个英文单词出现的次数。代码中,我们首先将文本字符串text按空格分割成单词,然后遍历每个单词,统计出现次数,存入freq字典中。

二、红楼梦词频统计Python代码

接下来,我们来看一下如何使用Python进行中文文本的词频统计,以《红楼梦》为例。转载的《红楼梦》文字可以通过Git命令获取,当前目录下就会有一个红楼梦txt的文件,接下来就是代码部分:

with open('hongloumeng.txt', 'r', encoding='utf-8') as file:
    text = file.read().replace('\n', '')
    words = list(jieba.cut(text))
    words = filter(lambda x: len(x)>1, words)
    freq = {}
    for word in words:
        if word in freq:
            freq[word] += 1
        else:
            freq[word] = 1
    print(freq)

代码解释:

首先,我们使用Python内置函数open()打开《红楼梦》txt文件,然后使用read()方法读取文本内容并使用replace()方法将换行符替换为空格。接着,我们使用jieba库进行中文分词,筛选出长度大于1的词语,最后进行词频统计。

三、词频统计Python代码不区分大小写

在进行词频统计时,有时候需要忽略单词的大小写,例如“Hello”和“hello”被认为是同一个单词。下面是不区分大小写的词频统计Python代码示例:

text = "To be, or not to be, that is the question"
words = text.lower().split()
freq = {}
for word in words:
    if word in freq:
        freq[word] += 1
    else:
        freq[word] = 1
print(freq)

在代码中,我们使用lower()方法将文本字符串转换为小写,并按空格分割成单词。然后按照前文的方法进行遍历统计,统计完后输出频率字典。

四、词频统计Python代码jieba

我们前面已经用到了jieba,这里介绍一下jieba库的基本用法:

import jieba

text = "我喜欢Python编程"
words = list(jieba.cut(text))
print(words)

代码解释:

首先,我们导入jieba库。然后,我们定义一个文本字符串text,对其进行中文分词并生成词语列表words,最后输出列表。

五、词频统计Python代码导入表格

有时候,我们需要直接将词频统计结果导出到表格中,下面是一个示例,展示了如何使用Python进行表格导入:

import pandas as pd

freq = {'Python': 3, '编程': 2, '很棒': 1}
df = pd.DataFrame.from_dict(freq, orient='index', columns=['Frequency'])
df.index.name = 'Word'
df.to_csv('freq.csv')

代码解释:

首先,我们导入pandas库。然后,我们使用Python内置函数from_dict()将频率字典转换为DataFrame格式,并设置列名和索引名。最后,我们使用to_csv()函数将DataFrame对象导出为csv文件。

六、词频统计Python代码意义背景

除了基本的词频统计,我们还可以在统计时考虑每个单词的意义和背景。例如,某些单词出现在特定场景中时,它们的含义可能会有所不同。下面是一个示例:

import nltk

text = "I saw a saw."
tokens = nltk.word_tokenize(text)
tags = nltk.pos_tag(tokens)
freq = {}
for word, tag in tags:
    if tag[0] == 'V':
        if word in freq:
            freq[word] += 1
        else:
            freq[word] = 1
print(freq)

代码解释:

我们导入nltk库进行英文分词和词性标注,对文本字符串text进行分词,标注后最终输出包含动词的词频字典。

七、词频统计Python代码多个文件

有时候,我们需要统计多个文本文件中的词频,下面是一个示例:

import glob

files = glob.glob('*.txt')
freq = {}
for file in files:
    with open(file, 'r') as f:
        text = f.read().lower()
        words = text.split()
        for word in words:
            if word in freq:
                freq[word] += 1
            else:
                freq[word] = 1
print(freq)

代码解释:

首先,我们使用Python模块glob匹配当前目录下所有的txt文件。然后,我们使用Python内置函数open()打开每个txt文件,按照前文的方法进行词频统计,并在词频字典freq中累加出现次数。

八、词频图Python代码

最后,我们将展示如何使用Python绘制词频图。我们会使用Matplotlib库,代码示例:

import matplotlib.pyplot as plt

freq = {'Python': 3, '编程': 2, '很棒': 1}
plt.bar(range(len(freq)), list(freq.values()), align='center')
plt.xticks(range(len(freq)), list(freq.keys()))
plt.show()

代码解释:

我们导入Matplotlib库,并定义一个频率字典freq。然后,我们使用plt.bar()函数绘制竖状条形图,使用plt.xticks()函数设置x轴标签。最后,我们通过调用plt.show()函数显示图形。

九、三国演义词频统计Python

最后,让我们以著名的《三国演义》作为示例,展示如何进行中文文本的词频统计:

import jieba

with open('san_guo_yan_yi.txt', 'r', encoding='utf-8') as f:
    text = f.read()
    words = list(jieba.cut(text))
    freq = {}
    for word in words:
        if word in freq:
            freq[word] += 1
        else:
            freq[word] = 1
    print(freq)

代码解释:

与前面的《红楼梦》示例类似,代码中我们也使用jieba库进行中文分词,并进行遍历统计。

总结

Python是一门非常灵活的编程语言,词频统计是其广泛应用的一种文本处理方法。本文从多个方面介绍了Python中词频统计的应用,希望能够帮助读者初步掌握这一重要技巧。

原创文章,作者:ULZKO,如若转载,请注明出处:https://www.506064.com/n/368269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
ULZKOULZKO
上一篇 2025-04-12 01:13
下一篇 2025-04-12 01:13

相关推荐

  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29

发表回复

登录后才能评论