python中文词频排序_Python中文词频统计
1. 下载一长篇中文小说。
2. 从文件读取待分析文本。
3. 安装并使用jieba进行中文分词。
pip install jieba
import jieba
ljieba.lcut(text)
import jieba
txt = open(r'piao.txt','r',encoding='utf-8').read()
wordsls=jieba.lcut(txt)
wcdict={}
for word in wordsls:
if len(word)==1:
continue
else:
wcdict[word]=wcdict.get(word,0)+1
#word在wcdict中没有找到对应的词语,则返回0
wcls=list(wcdict.items())
wcls.sort(key=lambda x:x[1],reverse=True)
for i in range(25):
print(wcls[i])
4. 更新词库,加入所分析对象的专业词汇。
jieba.add_word('天罡北斗阵') #逐个添加
jieba.load_userdict(word_dict) #词库文本文件
jieba.add_word('思嘉奥哈拉')
jieba.lcut(txt)
5. 生成词频统计
6. 排序(如上图)
7. 排除语法型词汇,代词、冠词、连词
import jieba
txt = open(r'piao.txt','r',encoding='utf-8').read()
for ch in '-#$%^&*()@:{}_+[]~':
txt =txt.replace(ch," ")#将文本中的特殊字符转换为空格替代
wordsls=jieba.cut(txt)
#分解提取单词
print('\n')
List=str.strip('')
print(len(List),List)
#单词计数字典
print('/n')
wordsls=set(List)
print(len(wordsls),wordsls)
wcdict={}
for word in wordsls:
if len(word)==1:
continue
else:
wcdict[word]=wcdict.get(word,0)+1
#word在wcdict中没有找到对应的词语,则返回0
#wcdict['思嘉']=wcdict['思嘉']+wcdict["思嘉奥哈拉"]
#del(wcdict['思嘉奥哈拉'])
wcls=list(wcdict.items())
wcls.sort(key=lambda x:x[1],reverse=True)
#排除语法型词汇,代词、冠词、连词
xx=['他们','没有','自己','一个','什么','这样','知道','我们','这个','这些','不过','已经','要是','觉得','那样','而且']
wordsls= wordsls-xx
print(len(wordsls),wordsls)
jieba.add_word('思嘉 奥哈拉')
jieba.lcut(txt)
for i in range(25):
print(wcls[i])
import re
import collections
import numpy as np
import jieba
from wordcloud import WordCloud # 词云展示库
from PIL import Image # 图像处理库
import matplotlib.pyplot as plt # 图像展示库
txt = open(r'piao.txt','r',encoding='utf-8').read()
for ch in '-#$%^&*()@:{}_+[]~\n':
txt =txt.replace(ch," ")#将文本中的特殊字符转换为空格替代
stop_word=[]
stop_word=open("停用词.txt","r",encoding='UTF-8').read().split("\n")
wordsls=jieba.lcut(txt)
object_list=[]
for i in wordsls:
if len(i)!=1:
if i not in stop_word:
object_list.append(i)
word_counts = collections.Counter(object_list) # 对分词做词频统计
word_counts_top10 = word_counts.most_common(20) # 获取前10最高频的词
print (word_counts_top10) # 输出检查
wl_split=' '.join(object_list)
mywc = WordCloud().generate(wl_split)
plt.imshow(mywc)
plt.axis("off")
plt.show()
8. 输出词频最大TOP20,把结果存放到文件里
9. 生成词云
安装词云:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wordcloud
安装 找到下载文件的路径 pip install wordcloud-1.5.0-cp37-cp37m-win_amd64.whl
配置:
在WordCloud安装的目录下找到WordCloud.py文件,对源码进行修改。
编辑wordcloud.py,找到FONT_PATH,将DroidSansMono.ttf修改成msyh.ttf。这个msyh.ttf表示微软雅黑中文字体。
在同一个目录下放置msyh.ttf字体文件供程序调用(字体可以在C:\Windows\Fonts复制)
使用:
1、引入模块
from wordcloud import WordCloud
import matplotlib.pyplot as plt
2、导入文本
准备生成词云的文本word_text =' '.join(wordlist) #是以空格分隔的字符串
4、生成词云
mywc = WordCloud().generate(wl_split)
5、显示词云
plt.imshow(mywc)
plt.axis("off")
plt.show()
python中文词频排序_Python中文词频统计相关推荐
- python中文词频排序_python统计词频并排序
Python 贝叶斯文本分类模型从原理到实现朴素贝叶斯分类器是一种有监督学习, 常见有两种模型, 多项式模型(multinomial model) 即为词频型和伯努利模型(Bernoulli mode ...
- python编程单词排序_Python实现针对中文排序的方法
本文实例讲述了Python实现针对中文排序的方法.分享给大家供大家参考,具体如下: Python比较字符串大小时,根据的是ord函数得到的编码值.基于它的排序函数sort可以很容易为数字和英文字母排序 ...
- python中文字符串编码_python中文乱码 字符串和编码
Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了. Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节).现代操作系统和大 ...
- python 分词工具训练_Python中文分词工具大合集:安装、使用和测试
这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...
- python列表数据排序_Python中,如何将列表中数据排序给列表排序?
在程序中使用字典进行数据信息統计时由于字典是无序的所以打印字典时内容也是无序的.因此为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按"键"排序和按&quo ...
- python八大选择排序_Python实现选择排序
选择排序: 选择排序(Selection sort)是一种简单直观的 排序算法 .它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最 ...
- python字母大小写排序_Python中sorted()排序与字母大小写的问题
今天我在练习python时,对字典里的键用sorted排序时发现并没有按照预期排序 研究后发现字母大小写会影响排序 首先创建一个字典,键里面的首字母有大写有小写 favorite_digit = { ...
- python大文件排序_Python如何实现大文件排序?Python大文件排序的实现方法
Python如何实现大文件排序?Python大文件排序的实现方法 本文实例讲述了Python实现大文件排序的方法.分享给大家供大家参考.具体实现方法如下: import gzip import os ...
- python简单选择排序_Python实现冒泡,插入,选择排序简单实例
本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下: # -*- coding: cp936 -*-#python ...
最新文章
- 分享Kali Linux 2017年第30周镜像文件
- 【Hibernate步步为营】--双向关联一对一映射具体解释(一)
- 图像传感器与信号处理——详解CCD与CMOS图像传感器
- 向导页设计_向导设计模式
- GPU版的tensorflow在windows上的安装时的错误解决方案
- 要让玩家买单的facebook中文网
- python中不可变对象_Python中的可变对象与不可变对象、浅拷贝与深拷贝
- Syntax Error: Unexpected token 报错原因
- java 确定对象的引用_JVM学习笔记之了解对象存活判断和4种引用【三】
- 『C#基础作业』4.类的静态成员示例
- ModelAndView 详解
- 做自媒体赚钱,分享一个完整的影视剪辑的基本流程
- Gradle 2.0 用户指南翻译——第二十三章. Java 插件
- 【IoT】成功十大因素,命、运、风水 、、贵人、养生,哪个最重要?
- AM335x Linux调试1--MLO中打印寄存器值
- 如何修改Nintendo Switch Dock以获得更好的便携性
- 解决迅雷极速版强制升级-20190715
- win10家庭版升级专业版
- element-ui中el-dialog使用技巧
- Python大球吃小球