Python词云

简介: 根据项目名称分析其中词频高的数据来制作词云

以下的数据下载都是在我的gitee中的:


  1. 字词数据下载:Excel数据
  2. 字体下载:字体
  3. 地图下载:中国地图
  4. 调色盘颜色下载:玉门关的蓝色


主要目的:根据项目名称分析其中词频高的数据来制作词云

19f4c51191e74850942457ff6661084a.png

import pandas as pd 
skdfsorttjfilter =pd.read_csv("skdfsorttjfilter.csv",encoding='utf-8-sig')
from PIL import Image  #需要下载安装PIL包
import numpy as np
from wordcloud import WordCloud, ImageColorGenerator
from matplotlib import pyplot as plt
import pandas as pd 
# 词频分析
sklist=[]
skforcut=[]
for i in skdfsorttjfilter['项目名称']:
    sklist.append(i)
skls=','.join(sklist)
sklist

cb17c5ead4e14f0a99f307c6f3023b8c.png

skls

通过解霸将句子分成字词:

import jieba # pkuseg
words=jieba.lcut(skls) 
words
counts={} # items
mytextlist=[]
for word in words:
    if len(word)==1: # 如果词语中只有一个字,比如‘的’,‘你’之类的就将其删除
        continue
    else:
        counts[word]=counts.get(word,0)+1
        mytextlist.append(word.replace(" ",""))
cloud_text=','.join(mytextlist)
items=list(counts.items())
itemsv2=counts.items()

b3f03beb279445b6a1431ca9e56398f2.png

可以看到后面的数字就是词语出现的次数。

06d1409317fd4045aaa11037f622d756.png

对items进行排序:

items.sort(key=lambda x:x[1],reverse=True) # 排序
for i in range(len(items)):
    word,count=items[i]

48cafa88607a44b4bd3177c1850a39ed.png

找出词语中带有‘农’字的:

itemsv3={k:v for k,v in itemsv2 if '农' in k}
itemsv3ls=list(itemsv3)

04a1e34c8427453285781617ebd0c69f.png

开始绘图!:

import os
cloud_mask=np.array(Image.open('zgv2.jpg')) # 以中国地图为整体形状
bg_Image=np.array(Image.open("YMG.jpg")) # 调色盘,但由于这张图片整体是蓝色,所以数据大体也是蓝色
st=set(["FR","平方公里","成为","10","我们","可以","这个","这里","一个","就是"]) # 过滤
#生成wordcloud对象
wc = WordCloud(background_color="white", 
    mask=cloud_mask,
    max_words=300,
    font_path="叶根友微刚体.TTF", # 字体,在我前面上传的数据当中
    min_font_size=5,     # 最小字体
    max_font_size=200,   # 最大字体
    width=800,
    height=1200,
    stopwords=st)
wc.generate(cloud_text)
image_colors=ImageColorGenerator(bg_Image)
plt.imshow(wc.recolor(color_func=image_colors))
plt.axis("off")
plt.show()
wc.to_file("skwc01.png") # 将图片进行保存
os.system('skwc01.png') # 会自动跳出来生成的图片

查看图片请点击:》skwc01.png

bd09bacfbf07459dbbab550ee4ec1018.png

使用系统自带的调色盘,可以呈现如下效果:
import os
cloud_mask=np.array(Image.open('zgv2.jpg'))
bg_Image=np.array(Image.open("YMG.jpg")) # 调色盘
st=set(["FR","平方公里","成为","10","我们","可以","这个","这里","一个","就是"]) # 过滤
#生成wordcloud对象
wc = WordCloud(background_color="white", 
    mask=cloud_mask,
    max_words=300,
    font_path="叶根友微刚体.TTF",
    min_font_size=5,     # 最小字体
    max_font_size=200,   # 最大字体
    width=800,
    height=1200,
    stopwords=st)
wc.generate(cloud_text)
image_colors=ImageColorGenerator(bg_Image)
# plt.imshow(wc.recolor(color_func=image_colors))
plt.axis("off")
plt.show()
wc.to_file("skwc02.png")
os.system('skwc02.png')


相关文章
|
6月前
|
机器学习/深度学习 自然语言处理 数据可视化
数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化
数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化
|
22天前
|
自然语言处理 Python Windows
python知识点100篇系列(23)- 使用stylecloud生成词云
【10月更文挑战第10天】`stylecloud` 是 `wordcloud` 的优化版,支持使用 Font Awesome 图标自定义词云形状,操作更简便。本文介绍如何安装 `jieba` 和 `stylecloud` 库,并使用它们生成中文词云。通过 `jieba` 进行分词,再利用 `stylecloud` 的 `gen_stylecloud` 方法生成具有特定形状和颜色的词云图像。
python知识点100篇系列(23)- 使用stylecloud生成词云
|
1月前
|
自然语言处理 计算机视觉 Python
用 Python 创建词云
用 Python 创建词云
24 2
|
3月前
|
自然语言处理 搜索推荐 数据可视化
如何使用python实现一个优雅的词云?(超详细)
如何使用python实现一个优雅的词云?(超详细)
85 2
|
3月前
|
自然语言处理 数据可视化 Python
【Python】Python人民的名义-词云-关系图可视化(源码+报告)【独一无二】
【Python】Python人民的名义-词云-关系图可视化(源码+报告)【独一无二】
|
4月前
|
自然语言处理 数据可视化 机器人
如何画一个词云 | python小知识
词云,又称文字云,是文本数据的视觉表示,通过将网络文本或大量文本数据中出现频率较高的“关键词”以不同大小的字体、颜色或形状进行可视化展示,形成类似云的彩色图形。这种视觉上的突出使得浏览者能够一眼扫过文本就领略到文本的主旨,是数据可视化的一种重要形式 【7月更文挑战第6天】
53 0
|
5月前
|
搜索推荐 Python Windows
python中对于wordcloud词云生成报错提示的解决
通过搜索印象错误信息:ValueError:Only supported for TrueType fonts,几乎大部分人给出的选项都是让你指定TrueType fonts路径,或者新下载TTF字体,并重新指定,但是这两种解决方案并无法解决报错。 在真正解决问题之前,先来介绍几个与之相关的知识点,对于有经验的人,这样的知识点完全是“小菜”,但是对于初学者,这种知识点就是因为缺少相关实践而无从下手,无从搜索引擎。
|
5月前
|
数据采集 自然语言处理 数据可视化
拿来及用的Python词云图代码 | wordcloud生成词云详解
词云也叫文字云,是一种可视化的结果呈现,常用在爬虫数据分析中,原理就是统计文本中高频出现的词,过滤掉某些干扰词,将结果生成一张图片,直观的获取数据的重点信息。今天,我们就来学习一下Python生成词云的常用库wordcloud。
|
5月前
|
机器学习/深度学习 自然语言处理 数据可视化
文本挖掘与可视化:生成个性化词云的Python实践【7个案例】
词云(Word Cloud),又称为文字云或标签云,是一种用于文本数据可视化的技术,通过不同大小、颜色和字体展示文本中单词的出现频率或重要性。在词云中,更频繁出现的单词会显示得更大,反之则更小。
|
5月前
|
机器学习/深度学习 自然语言处理 数据可视化
文本挖掘与可视化:生成个性化词云的Python实践【7个案例】
词云是文本数据可视化的工具,显示单词频率,直观、美观,适用于快速展示文本关键信息。 - 用途包括关键词展示、数据探索、报告演示、情感分析和教育。 - 使用`wordcloud`和`matplotlib`库生成词云,`wordcloud`负责生成,`matplotlib`负责显示。 - 示例代码展示了从简单词云到基于蒙版、颜色和关键词权重的复杂词云生成。 - 案例覆盖了中文分词(使用`jieba`库)、自定义颜色和关键词权重的词云。 - 代码示例包括读取文本、分词、设置词云参数、显示和保存图像。
254 1