ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

词云

2021-12-10 13:31:07  阅读:180  来源: 互联网

标签:plt 模块 词云 pd print import font


 1 import pandas as pd
 2 import re #正则表达式
 3 import seaborn as sns
 4 from matplotlib import pyplot as plt
 5 import jieba  #分词
 6 import jieba.analyse
 7 import imageio #配合做词云的
 8 from wordcloud import WordCloud #词云
 9 
10 #windows 中文编码
11 plt.rcParams['font.sans-serif']='simhei'
12 plt.rcParams['axes.unicode_minus']=False
13 
14 sns.set_style("darkgrid",{"font.sans-serif":['simhei','Droid Sans Fallback']})
15 
16 plt.rcParams['font.family'] = "KaiTi"
17 data2 = pd.read_excel(r"C:\Users\Administrator\Downloads\模块三资料\模块三资料\模块三代码文件\code\综合项目(电商文本挖掘)\data\竞争数据\评论舆情数据\安速.xlsx")
18 # print(data2.columns)
19 bai6 = list(data2['评论'])
20 # print(bai6)
21 stopwords = list(pd.read_csv(r'C:\Users\Administrator\Downloads\模块三资料\模块三资料\模块三代码文件\code\综合项目(电商文本挖掘)\data\百度停用词表.txt',
22                              names=['stopwords'])['stopwords'] )#指定列名转化为列表
23 stopwords.extend([' ']) #把空格也去掉
24 print("禁用词:",stopwords)
25 print("未处理的原始数据",bai6)
26 bai61= [re.sub(r'[^a-z\u4E00-\u9Fa5]+',"",i,flags=re.I) for i in bai6]
27 print("去掉字母和中文字符",bai61)
28 bai62 = []
29 print(len(bai61))
30 for i in bai61:
31     sag1 = pd.Series(jieba.lcut(i))
32     ind1 = pd.Series([len(j)>1 for j in sag1])
33     seg2 = sag1[ind1]
34 
35     ind2 = ~seg2.isin(pd.Series(stopwords))
36     rsg3 = list(seg2[ind2].unique())
37     if len(rsg3)>0:
38         bai62.append(rsg3)
39 print(bai62)
40 lls = [u for i in bai62 for u in i]
41 print(lls)
42 # 词频统计
43 print(pd.Series(lls).value_counts())
44 # 构建词云需要的字符串
45 big_str = ''.join(lls)
46 print(big_str)
47 # 生成词云
48 #读取照片
49 mask = imageio.imread(r'C:\Users\Administrator\Downloads\模块三资料\模块三资料\模块三代码文件\code\综合项目(电商文本挖掘)\data\leaf.jpg')
50 #如果是中文的词云---字体
51 font = r'C:\Users\Administrator\Downloads\模块三资料\模块三资料\模块三代码文件\code\综合项目(电商文本挖掘)\data\SimHei.ttf'
52 wc = WordCloud(
53     background_color="white",
54     mask=mask,
55     font_path=font
56 ).generate(big_str)
57 plt.figure(figsize=(8,8))
58 plt.imshow(wc)
59 
60 plt.axis('off')#不要坐标轴
61 plt.show()
62 
63 
64 
65 print(jieba.analyse.extract_tags(big_str,20,True))

 

 

 

标签:plt,模块,词云,pd,print,import,font
来源: https://www.cnblogs.com/zhang-dan/p/15671303.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有