利用python生成词云

利用python的wordcloud包生成词云,分析前程无忧数据分析岗位的岗位职责和岗位要求

import pandas as pd

import jieba,re

from scipy.misc import imread

from wordcloud import WordCloud, ImageColorGenerator,STOPWORDS

import matplotlib.pyplot as plt

data=pd.read_excel('51jobanaly1.xlsx')#读取Excel转为dabaframe

df=pd.DataFrame(data)

nrows=df.shape[0]#获得一共有多少行

file1=df.岗位职责.dropna(how='any')#去掉空值

file2=df.岗位要求.dropna(how='any')

text1=''.join(i for i in file1)#把所有字符串连接成一个长文本

text2=''.join(i for i in file2)

responsibility=re.sub(re.compile(',|;|\.|、|。'),'',text1)#去掉逗号等符号

requirement=re.sub(re.compile(',|;|\.|、|。'),'',text2)

wordlist1=" ".join(jieba.cut(responsibility,cut_all=True))#分析岗位职责

#wordlist1=" ".join(jieba.cut(requirement,cut_all=True))#分析岗位要求

font_path=r'C:\Windows\Fonts\simkai.ttf'

stopwords = list(STOPWORDS)+['数据','分析','负责','相关','公司','进行','工作']#分析岗位职责

#stopwords = list(STOPWORDS)+['以上学历','优先','计算','经验','学历','上学','熟练','使用','以上']#分析岗位要求

bgimg=imread(r'C:\Users\lbship\Desktop\mice.jpg')#设置背景图片

wc = WordCloud(font_path=font_path,  # 设置字体

              background_color="white",  # 背景颜色

              max_words=2000,  # 词云显示的最大词数

              stopwords = stopwords,        # 设置停用词

              mask=bgimg,  # 设置背景图片

              max_font_size=100,  # 字体最大值

              random_state=42,#设置有多少种随机生成状态,即有多少种配色

              width=1000, height=860, margin=2,# 设置图片默认的大小,margin为词语边缘距离

              ).generate(wordlist1)

image_colors = ImageColorGenerator(bgimg)#根据图片生成词云颜色

plt.imshow(wc)

plt.axis("off")

plt.savefig("examples.jpg")#必须在plt.show之前,不是图片空白

plt.show()

效果


利用python生成词云_第1张图片
image.png

你可能感兴趣的:(利用python生成词云)