实操记录-词云图制作

本文介绍了如何使用Python库如numpy、pandas和jieba等处理长文本数据,通过分词、去除停用词并统计词频,创建词云图来直观展示文本中词语的重要程度,特别适用于评论和文章的分析,解决词云图显示问题的方法是调整字体路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用场景:直观展示文本频率,对比文字重要程度,突出重点文字

可应用数据:评论、文章(长文本)等

本次应用涉及python库:numpy、pandas、jieba、collections、matplotlib、wordcloud

使用数据:类似评论

第一步:读取文本数据

df= pd.read_excel('data.xlsx')

第二步:导入停用词,因在对文本进行分词时,会产生大量无效字符,因此要对一些感叹语、标点符号等无效信息进行处理

# 加载停用词
with open('stopwords.txt','r',encoding='utf-8') as fp:
    words=fp.readlines()
stop_words = []
for word in words:
    w= word.strip('/n')
    stop_words.append(w)

第三步:对文本进行分词,读取dataframe中的一列进行分词,并将分词后的无效信息进行剔除,最后保存在列表中。ps:本次处理额外将单个字符进行剔除

# 停用词处理
good_words =[]   #保留的信息
for comment in df['根本原因分析']:
    word_list = jieba.lcut(str(comment)) #直接用comment出错了,转化为字符串才加的str
    for word in word_list:
        if word not in stop_words:
            if len(word) > 1:
                good_words.append(word)

第四步:统计列表中的单词及词频,主要使用的是collections中的Counter函数,由于counter函数计算单词和词频后word_dict为一个counter格式,后续不改也不影响做词云图

word_dict=collections.Counter(good_words) # 统计词频

word_dict_2=dict(word_dict) #转化为字典
df_c = pd.DataFrame(word_dict_2,index = [0]) #转化为dataframe格式

第五步:画词云图,各种调参数

import matplotlib.pyplot as plt
import wordcloud


plt.figure(figsize=(48,32))
wc= wordcloud.WordCloud(font_path='msyhbd.ttc',width=800,height=400,collocations=False,
                        background_color='white',max_font_size=170,min_font_size=5,
max_words=150,prefer_horizontal=1)

wc.generate_from_frequencies(word_dict_2)
plt.imshow(wc)

中途遇到的困难:画出的词云图缺字,显示不全

本次解决办法:改变显示字体,将wordcloud.WordCloud中的font_path修改即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值