1、jieba分词及词频统计

import jieba
import pandas as pd# 加载自定义分词词典(txt内容格式:自定义关键词+空格+空格  ----->换行继续)
jieba.load_userdict("./dict.txt")content = open('./测试.txt',encoding='utf-8').read()
#分词
words = jieba.cut(content)
word_list = list(word for word in words)#使用pandas统计并降序排列
df = pd.DataFrame(word_list,columns=['word'])
# result = df.groupby(['word']).size()
result = df.groupby(['word']).size().sort_values(ascending=False)# print(result.sort_values(ascending=False))result.to_excel('./分词词频统计结果.xlsx')

2、TextRank和TF-IDF关键词提取(包括权重,词云图)

import jieba.analyse
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np#准备语料
corpus = "《知否知否应是绿肥红瘦》是由东阳正午阳光影视有限公司出品,侯鸿亮担任制片人,张开宙执导,曾璐、吴桐编剧,赵丽颖、冯绍峰领衔主演,朱一龙、施诗、张佳宁、曹翠芬、刘钧、刘琳、高露、王仁君、李依晓、王鹤润、张晓谦、李洪涛主演,王一楠、陈瑾特别出演的古代社会家庭题材电视剧"#TextRank关键词提取
keywords_textrank = jieba.analyse.textrank(corpus,topK=10,withWeight=True)
print(keywords_textrank)    #['有限公司', '出品', '社会', '家庭', '制片人', '担任', '影视', '题材', '电视剧', '知否', '东阳', '出演', '执导']#TF-IDF关键词提取
keywords_tfidf = jieba.analyse.extract_tags(corpus,topK=10,withWeight=True)
print(keywords_tfidf)       # ['知否', '领衔主演', '刘钧', '刘琳', '侯鸿亮', '张晓谦', '王一楠', '张佳宁', '李依晓', '冯绍峰', '王鹤润', '施诗', '陈瑾', '赵丽颖', '吴桐', '朱一龙', '曹翠芬', '王仁君', '曾璐', '高露']#提取关键词及权重
freq = {i[0]: i[1] for i in keywords_tfidf}
# 生成对象(自定义背景图片)
# mask = np.array(Image.open("color_mask.png"))wc = WordCloud( font_path='SIMLI.ttf',width=800, height=600, mode='RGBA', background_color='white').generate_from_frequencies(freq)# 显示词云
plt.imshow(wc,interpolation='bilinear')
plt.axis('off')
plt.show()# 保存到文件
wc.to_file('wordcloud3.png')

3、jieba 借助停用词、自定义字典词频统计(针对excel的某列数据做词频统计)

import jieba
import pandas as pd
import time# 导入数据
df = pd.read_excel('51job.com销售岗位(未去重).xlsx',encoding = 'utf-8')
df = df.dropna() #去除空值
content = df.values.tolist() #将数据内容按行转换成列表
# print(content)
# print(len(content))# 加载自定义分词词典(txt内容格式:自定义关键词+空格+空格  ----->换行继续)
jieba.load_userdict("./jieba_userdict.txt")base_text = [] #取目标字段的文本内容
for i in range(len(content)):base_text.append(content[i][0])words_ = [] #存放目标文本的分词结果
for words_row in base_text:try:words = jieba.cut(words_row)for word in words:if len(word) >1 and word !='/r/n':words_.append(word)except:print('抛出异常:\n',words_row)continueprint('1.目标文本初步分词结果:\n',words_)#加载停用词
stopwords=[]
for word in open('stopwords.txt','r',encoding='utf-8'):stopwords.append(word.strip())
print('2.停用词列表:\n',stopwords)
#存放已去除停用词的文本数据
res = []
#存放被禁用的词
res_no = []#筛选分词结果使其不包含停用词
for word in words_:if word in stopwords:res_no.append(word)else:res.append(word)
res_no_ = set(res_no)
print('3.存放已去除停用词的文本数据列表:\n',res)
print('4.存放被禁用的词:\n',res_no_)# 将分词结果转换为df对象,使用pandas统计词频并降序排列
df = pd.DataFrame(res, columns=['word'])
print('5.word_df对象:\n',df)
# result = df.groupby(['word']).size()
result = df.groupby(['word']).size().sort_values(ascending=False)
print('6.词频统计结果:\n',result)
# print(result.sort_values(ascending=False))result.to_excel('./分词词频统计结果'+time.strftime('%Y%m%d%H%M%S')+'.xlsx')

4、jieba pandas做词频统计并制作词云

import warnings
warnings.filterwarnings("ignore")
import jieba
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
from wordcloud import WordCloud #制作词云的包
import timematplotlib.rcParams['figure.figsize'] = (10.0,5.0) #指定画布的大小尺寸# 导入数据
df = pd.read_excel('51job.com销售岗位(未去重).xlsx',encoding = 'utf-8')
df = df.dropna() #去除空值
content = df.values.tolist() #将数据内容按行转换成列表
# print(content)
# print(len(content))# 加载自定义分词词典(txt内容格式:自定义关键词+空格+空格  ----->换行继续)
jieba.load_userdict("./jieba_userdict.txt")base_text = [] #取目标字段的文本内容
for i in range(len(content)):base_text.append(content[i][0])words_ = [] #存放目标文本的分词结果
for words_row in base_text:try:words = jieba.cut(words_row)for word in words:if len(word) >1 and word !='/r/n':words_.append(word)except:print('抛出异常:\n',words_row)continueprint('1.目标文本初步分词结果:\n',words_)#加载停用词
stopwords=[]
for word in open('stopwords.txt','r',encoding='utf-8'):stopwords.append(word.strip())
print('2.停用词列表:\n',stopwords)
#存放已去除停用词的文本数据
res = []
#存放被禁用的词
res_no = []#筛选分词结果使其不包含停用词
for word in words_:if word in stopwords:res_no.append(word)else:res.append(word)
res_no_ = set(res_no)
# print('3.存放已去除停用词的文本数据列表:\n',res)
# print('4.存放被禁用的词:\n',res_no_)# 将分词结果转换为df对象,使用pandas统计词频并降序排列
df = pd.DataFrame(res, columns=['word'])
# print('5.word_df对象:\n',df)
# result = df.groupby(['word']).size()
result = df.groupby(['word']).size().sort_values(ascending=False)
print('6.词频统计结果:\n',result)
# print(result.sort_values(ascending=False))
file_name =  './分词词频统计结果'+time.strftime('%Y%m%d%H%M%S')+'.xlsx'
result.to_excel(file_name)# 导入词频数据
cs_data =pd.read_excel(file_name,encoding = 'utf-8')
word_counts = cs_data.values.tolist() #将数据内容按行转换成列表
# print(word_counts)
word_frequence = {x[0]:x[1] for x in word_counts[:20]} #取前20行数据做词云
# 生成对象(自定义背景图片)
# mask = np.array(Image.open("color_mask.png"))
#初始化词云对象
wordCloudObj = WordCloud( font_path='SIMLI.ttf',width=800, height=600, mode='RGBA', background_color='white').generate_from_frequencies(word_frequence)plt.imshow(wordCloudObj)
plt.axis('off')
plt.show()png_file_name = 'wordcloud'+time.strftime('%m%d%H%M%S')+'.png'
wordCloudObj.to_file(png_file_name)

5.简易词云图生成(不适合中文直接生成词云,需要分词处理)

import wordcloud# 创建词云对象,赋值给w,现在w就表示了一个词云对象
w = wordcloud.WordCloud( font_path='SIMLI.ttf',width=800, height=600, mode='RGBA', background_color='white')# 生成背景对象(自定义背景图片)
# mask = np.array(Image.open("color_mask.png"))# 调用词云对象的generate方法,将文本传入
w.generate('今天天气不错,and that government of the people, by the people, for the people, shall not perish from the earth.')# 将生成的词云保存为output1.png图片文件,保存出到当前文件夹中
w.to_file('output1.png')

jieba词频统计、关键词提取、词云图制作相关推荐

  1. 利用jieba库和wordcloud库,进行中文词频统计并利用词云图进行数据可视化

    目录 利用jieba库和wordcloud库,进行中文词频统计并利用词云图进行数据可视化 安装jieba库 安装wordcloud 打开pycharm 编写代码 利用jieba库和wordcloud库 ...

  2. 中英文分词后进行词频统计(包含词云制作)

    文章目录 1.英文词频统计和词云制作 2.中文词频统计和词云制作 2.1 错误发现 2.2 错误改正  在之前的分词学习后,开始处理提取的词语进行词频统计,因为依据词频是进行关键词提取的最简单方法: ...

  3. 下载哈姆雷特英文版并实现文本词频统计以及生成词云图

    hamlet.txt全文下载链接如下: https://python123.io/resources/pye/hamlet.txt 下面展示 代码: # 哈姆雷特文本词频统计from wordclou ...

  4. jieba读取txt文档并进行分词、词频统计,输出词云图

    代码实现 # 库的引用 import jieba import matplotlib as mpl import matplotlib.pyplot as plt from wordcloud imp ...

  5. 【实战】词频统计及词云图制作

    写在开头 最近对词云有些兴趣,就自己瞎琢磨研究一些这方面的知识,期间也遇到一些小问题,写下此篇文章留作备注吧. 研究对象 金庸老先生的<天龙八部> 正式开始(微笑脸) 统计字频 (1)先统 ...

  6. 利用Python分析文章词频,并生成词云图

    利用Python分析文章词频,并生成词云图 使用request模块获取文章数据 import jieba import requests import csv from bs4 import Beau ...

  7. THE9爱奇艺扫楼 弹幕热度排名及词云图制作

    目录 1. 简介 2. 弹幕数据的获取 2.1 导包 2.2 获取数据 3. 分析数据 3.1 统计每个Id的弹幕数,看是否有恶意刷屏 4. 热度统计 4.1 涉及每名成员的弹幕数量 4.2 涉及每名 ...

  8. 《说英雄谁是英雄》首播,50000条弹幕词云图制作

    昨天期待已久的江湖武侠剧<说英雄谁是英雄>上线了,其实我是超越妹妹的粉丝,就去看了看,感觉打戏还不错:就想着看看首播情况咋样,弹幕友不友好,就有了这篇博客,我只爬取了第一二集的将近5万条弹 ...

  9. 【Python成长之路】词云图制作

    [写在前面] 以前看到过一些大神制作的词云图 ,觉得效果很有意思.如果有朋友不了解词云图的效果,可以看下面的几张图(图片都是网上找到的): 网上找了找相关的软件,有些软件制作 还要付费.结果前几天在大 ...

  10. python生成词云图个人技术报告_【Python成长之路】词云图制作

    [写在前面] 以前看到过一些大神制作的词云图 ,觉得效果很有意思.如果有朋友不了解词云图的效果,可以看下面的几张图(图片都是网上找到的): 网上找了找相关的软件,有些软件制作 还要付费.结果前几天在大 ...

最新文章

  1. 关于Iframe在IE6下不显示的bug
  2. 不限制内存用桶排序PHP
  3. 数据结构和算法解:第九章 算法设计技巧
  4. Selenium WebDriver的TestNG注释完整指南
  5. 澳大利亚超市巨头考虑设专门网站 方便代购买奶粉
  6. python数据科学手册_数据科学的Python
  7. C语言之pthread_cond_wait()和pthread_cond_timedwait()区别(十五)
  8. JAVA IO中的设计模式
  9. 在SQL Server中建立主键外键的关系
  10. 32款图片处理软件介绍
  11. 雷赛acc68c说明书_深圳雷赛科技有限公司官网 雷赛智能公司怎么样 雷赛运动控制卡教程 雷赛步进电机说明书 雷赛m542c说明书 雷赛智能官网...
  12. u-boot 之配置分析 (2)
  13. 【51单片机】74HC595串转并 使用
  14. 算法设计与分析递归概念之Fibonacci数列
  15. cf 936B Sleepy Game
  16. 电信卡 LTE 无法短信发送
  17. 数组的c语言代码带注释,C语言之数组
  18. 宠物诊所java项目_任务一宠物诊所项目概述.PDF
  19. Howler.js音频播放终极解决方案
  20. html怎么用chrome测试,html5 – 如何测试触摸事件现在Chrome无法进行标准测试?

热门文章

  1. 软文创意18招之三:用数字
  2. 如何让6自由度双足机器人实现翻跟头的动作?
  3. 2022-2028全球在线团购行业调研及趋势分析报告
  4. 森林资源调查 |基于无人机平台应用激光雷达技术获取树木信息 (包含位置、树高、树冠直径、树冠面积和树冠体积等)
  5. Katy Perry的音乐
  6. (2)mifare卡读写器开发心得『转』--整理重发贴
  7. 11,装饰模式-孙悟空的六神装
  8. Cannot find module ‘@umijs/preset-react‘ from ‘D:\ideawork\code\reactjs04‘
  9. B\S备忘录01——此吧神兽“焰正马 ”
  10. 如何向Hyper-V拷贝文件