Python编程入门:英文词频统计

text = "Got tho on super sale. Love it! Cuts my drying time in half Reckon I have had this about a year now,\
        at least 7 months. Works great, I use it 5 days a week, blows hot air, doesnt overheat,\
        isnt to big, came quick, didnt cost much. Get you one, you will like it.The styling tip does not stay on,\
        keeps falling off in the middle of blow drying and then it's too hot to put back"
text = text.lower()
# 将特殊字符替换成为空格
for ch in '!@#$%:^&*()-.;':
    text = text.replace(ch, " ")
# 对字符串通过空格进行分割
words = text.split()
counts = {}

for word in words:
    if word in counts:
        counts[word] = counts[word] + 1
    else:
        counts[word] = 1

items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
# 输出词频统计的结果
for i in range(3):
    word, count = items[i]
    if  i<2:
       print("{0}:{1}".format(word, count))
    else:
       print("{0}:{1}".format(word, count),end="")

要统计英文词频,可以使用Python中的字典数据结构和字符串操作函数。

下面是一个简单的示例代码,用于统计一个英文文本中每个单词出现的次数:

def word_frequency(text):
    # 将文本转换为小写并按空格分割为单词列表
    words = text.lower().split()
    
    # 创建一个空字典用于存储单词及其出现次数
    frequency = {}
    
    # 遍历单词列表
    for word in words:
        # 去除单词中的标点符号
        word = word.strip(".,!?")
        
        # 如果单词已经在字典中,则将其出现次数加1;否则将单词添加到字典中,并将出现次数设为1
        if word in frequency:
            frequency[word] += 1
        else:
            frequency[word] = 1
    
    # 返回字典
    return frequency

# 示例用法
text = "This is a sample text. It contains some words, some of which are repeated."
result = word_frequency(text)
print(result)

运行以上代码,输出结果如下:

{'this': 1, 'is': 1, 'a': 1, 'sample': 1, 'text': 1, 'it': 1, 'contains': 1, 'some': 2, 'words': 1, 'of': 1, 'which': 1, 'are': 1, 'repeated': 1}

可以看到,每个单词及其出现次数被存储在一个字典中。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/12276.html

赞 (0)
江山如画的头像江山如画管理团队
中文分词-逆向最大匹配法 “SyntaxWarning: “is“ with a literal. Did you mean “==“?”
上一篇 2023年10月3日 上午10:36
2个pycharm使用技巧:更改文件、文件夹名称,更换pip为清华源
下一篇 2023年10月3日 上午11:21

99%的人还看了以下文章

  • 填坑!安装opencv-python库后,没有CV2文件夹,找不到haarcascade分类器文件

    python内import cv2正常运行,但是根据以下方法在e:\python\python39\lib\site-packages下找不到CV2文件夹,也找不到data\haarcascades相关分类器文件。 OpenCV-python haarcascade各种分类器文件位置 使用 pip list 查看是否安装opencv-python E:\py…

    2020年12月8日
    17.0K0
  • GitHub是什么?GitHube有什么用?GitHub学习入门(精)

    GitHub是什么? gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。 Git 是由 Linux 之父 Linus Tovalds 为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。  好吧,我相信看到这里你已经晕了,这也是我一开始看那些所谓经典教程的感受。 简单来…

    2018年8月24日
    10.9K0
  • 上机实战五 JavaBean的开发       

      建议学时:2 get方法 set方法 getProperty:获取bean的属性值 setProperty:设置bean的属性值 一、通过表单指定JavaBean的属性。 编写Goods.java(javaBean),定义商品名称、代号、价格,并提供相应的get\set方法。 编写Goods.jsp,页面效果如下,点击提交按钮,会调用javabean,将…

    2018年11月13日
    11.3K0
  • Java向mysql数据库插入datetime类型数据实例(精)

    在Mysql数据库中日期跟时间有两种: 1、date类型,date类型也就是我们常见的储存yyyy-MM-dd类型的日期,它不能储存时间,也就是只能储存日期, 2、dateitme就是可以储存日期同时也可以储存时间。 datetime可以保存1000-01-01到 9999-12-31的日期。 上面mysql数据库中birthday字段类型设置的是datet…

    2018年5月2日
    23.5K0
  • 别再浪费时间了!分享一个学习Python的正确指南!

    Python是一门新手友好、功能强大、高效灵活的编程语言。 然而很多同学在学习过程中,并没有找到正确的方式,这样不仅浪费了大量的时间与精力,也对学习的兴趣有一定打击。 125网页设计整理了一些初学者学习的几大误区分享给大家,帮助同学们更好地学习Python。 急于求成 很多对学习Python有兴趣的同学们,可能在刚开始学习时没有找准学习方式。大家只是一味地买…

    2022年8月13日
    4.8K0
  • java两个窗体Form1和Form2之间怎么传递参数?

    开发java图形界面程序时,会遇到一个窗体向另外一个窗体传递参数的问题,好多初学者很是迷茫。中国网页设计特别编写了一个简单程序用于演示两个窗体之间如何传递参数,代码如下:Form1.java代码: import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.Acti…

    2021年11月25日
    4.0K0

发表回复

登录后才能评论