python绘制词云图(内附背景图,简单项目易上手)

本项目前期用jieba分词然后用wordcloud绘制词云图
环境python3.8 使用IDE为pycharm

文章目录

  • 1.需要导入的包
  • 2.jieba分词生成词频字典
  • 3.绘制词云图

1.需要导入的包

import numpy as np
from PIL import Image
from matplotlib import pyplot as plt
from wordcloud import WordCloud
import pandas as pd
import jieba

2.jieba分词生成词频字典

text=pd.read_csv('tongjifenxi-zhihu.csv')
with open('中文停用词.txt','r', encoding='utf-8') as f:
    #print(f.readlines())
    stopwords=f
    stop=[x.strip() for x in f.readlines()]#
dic={}
for i in text['zhaiyao']:
    for st in [' ',')',',','。','—','、','的','年','为',',']:#针对性去停用词
        i=i.replace(st,'')
    words=jieba.lcut(i)#返回列表
    #print(words)
    for i in words:
        if i in stop:
         words.remove(i)#按元素删除
    #print(words)

    for n in words:
        dic[n]=dic.get(n,0)+1

text的zhaiyao列为纯文本,展示读取text.zhaiyao[0]第一行内容:
python绘制词云图(内附背景图,简单项目易上手)_第1张图片
最后处理为:
python绘制词云图(内附背景图,简单项目易上手)_第2张图片

3.绘制词云图

img=Image.open(r'rio.png')#打开背景图 自定义
font = r'C:\Windows\Fonts\FZSTK.TTF'
img_array = np.array(img) #将图片装换为数组
wc = WordCloud(
    background_color='white',
    width=1000,
    height=800,
    mask=img_array ,#设置背景图片
    #stopwords=stop,
    font_path=font
)
wc.generate_from_frequencies(dic)
plt.imshow(wc)
plt.axis('off')#隐藏坐标轴
plt.show()  #显示图片

python绘制词云图(内附背景图,简单项目易上手)_第3张图片
分享几个底板背景图给大家:
python绘制词云图(内附背景图,简单项目易上手)_第4张图片

python绘制词云图(内附背景图,简单项目易上手)_第5张图片

你可能感兴趣的:(python,中文分词,自然语言处理,数据分析)