博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python语言统计文档字频
阅读量:4149 次
发布时间:2019-05-25

本文共 1111 字,大约阅读时间需要 3 分钟。

问题:载入文档,统计字频并排序。

引申:如果需要统计中文词频,首先需要进行中文分词,可以通过结巴分词包来做简单的中文分词,然后去统计词频。

方法一:字典方法。将字作为字典的键,字频作为字典的值。在录入字时首先判断是否存在于字典键中,如果已存在,更改字典的值,如果不存在,将新的字作为键,值设为1。最后根据键值排序。

#字典方法统计字频dic = {}path = r'test.txt'f = open(path,'r')f.closefor i in f.readlines():       for j in i:        if j in dic.keys():            dic[j] += 1        else:            if j == ' ' or j == '\n':                continue            else:                dic[j]=1dic = sorted(dic.items(), key=lambda d:d[1], reverse = True)                for k in range(len(dic)):    print dic[k][0],dic[k][1]

方法二:数组方法。原理同上,添加了读取文档,保存到文档。

path = r'C:/Users/Desktop/test.txt'f = open(path,'r')f.closezi = []count = []for i in f.readlines():    i = i.decode('gbk')    #print i    for j in i:        if j in zi:             count[zi.index(j)] += 1        else:            if j == ' ' or j == '\n':                continue            else:                zi.append(j)                count.append(1)for i in range(len(zi)):            print zi,'\n',countpath_w = r'C:/Users/Desktop/testWrite.txt'g = open(path_w,'w')g.write(str(zi))g.write('\n')g.write(str(count))g.close

转载地址:http://xmsti.baihongyu.com/

你可能感兴趣的文章
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
25个构建Web项目的HTML建议,你需要了解一下!
查看>>
【web素材】02-10款大气的购物商城网站模板
查看>>
49个在工作中常用且容易遗忘的CSS样式清单整理
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>