我是靠谱客的博主 笨笨歌曲,最近开发中收集的这篇文章主要介绍零基础Python——对txt文本的词频统计一、环境二、需求描述三、排序代码(一)按字母a-z排序(二)按词频排序四、后记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

零基础Python——对txt文本的词频统计

目录

  • 一、环境
  • 二、需求描述
  • 三、排序代码
  • (一)按字母a-z排序
    • 1.文本读取
    • 2.文本大写转小写
    • 3.清除标点符号、数字0-9、换行符n
    • 4.以空格切分文本
    • 5.按字母a-z排序
    • 6.词频统计
    • 7.完整代码
  • (二)按词频排序
  • 四、后记


一、环境

提示:环境为百度AI Studio中项目环境。
网址链接:https://aistudio.baidu.com/aistudio/index

Python版本:python 3.7
框架版本:PaddlePaddle 2.0.0

CPU:2
RAM:8GB
磁盘:100GB


二、需求描述

统计英语6级试题(文本路径./artical.txt)中所有单词的词频,并返回一个如下样式的字典:{'and':100,'abandon':5}

英语6级试题的文本部分截图:英语6级试题的文本部分截图

处理要求:
(a) 'n’是换行符,需要删除。

(b) 标点符号需要处理:
[’.’, ‘,’, ‘!’, ‘?’, ‘;’, ‘’’, ‘"’, ‘/’, ‘-’, ‘(’, ‘)’]

(c ) 阿拉伯数字需要处理:
[‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘0’]

(d) 注意大小写 一些单词由于在句首,首字母大写了。需要把所有的单词转成小写。
处理方法:'String'.lower()


三、排序代码

(一)按字母a-z排序

1.文本读取

def get_artical(artical_path):
    with open(artical_path) as fr:
        data = fr.read()
    return data

get_artical('./artical.txt')

读取结果

2.文本大写转小写

DATA = get_artical('./artical.txt')
DATA = DATA.lower()  # 转换字符串中所有 大写字符 为 小写

文本大写转小写

3.清除标点符号、数字0-9、换行符n

 # 清除掉zf中存在的标点符号、数字0-9、换行符n
zf = 'n.,!?;'"/-()0123456789'
for ch in zf:
    DATA = DATA.replace(ch, '')

清除掉zf中存在的标点符号、数字0-9、换行符n

4.以空格切分文本

DATA = DATA.split(' ')  # 以空格切分文本

以空格切分文本

5.按字母a-z排序

DATA.sort() # 按出现次数排序

在这里插入图片描述

6.词频统计

from collections import Counter
Counter(DATA)  # 词频统计

词频统计

7.完整代码

def get_artical(artical_path):
    with open(artical_path) as fr:
        data = fr.read()
    return data
# get_artical()为自定义函数,可用于读取指定位置的试题内容。
get_artical('./artical.txt')

DATA = get_artical('./artical.txt')
DATA = DATA.lower()  # 转换字符串中所有 大写字符 为 小写

 # 清除掉zf中存在的标点符号、数字、换行符n
zf = 'n.,!?;'"/-()0123456789'
for ch in zf:
    DATA = DATA.replace(ch, '')

DATA = DATA.split(' ')  # 以空格切分

DATA.sort() # 按出现次数排序

from collections import Counter  # 词频统计
Counter(DATA)

完整代码

(二)按词频排序

import re
from collections import Counter
b=[]
with open(r'./artical.txt','r')as f:
    for i in f:
        s=re.findall(r'[a-zA-Z0-9]+' '',i.lower())  #查找单词
        b.extend(s)
    # print(b)
    sumf=str(Counter(b)).replace(',','n')
    print(sumf)

按词频排序


四、后记

本次内容来源于课程作业(下面为课程链接):https://aistudio.baidu.com/aistudio/course/introduce/7073

最后

以上就是笨笨歌曲为你收集整理的零基础Python——对txt文本的词频统计一、环境二、需求描述三、排序代码(一)按字母a-z排序(二)按词频排序四、后记的全部内容,希望文章能够帮你解决零基础Python——对txt文本的词频统计一、环境二、需求描述三、排序代码(一)按字母a-z排序(二)按词频排序四、后记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部