Python 每日一记217>>>根据词频生成词云图

一、问题描述

在这里插入图片描述
以上数据是会员的每一笔消费,我想看部类的词云图。
词云图有两种做法:
第一种是针对文本的,就是一堆话,先jieba分词,然后在进行词云图的绘制;
第二种就是根据已知的词频进行绘制,这就正好可以符合我的需求,我可以先把部类进行计算,求每个部类出现的次数,一定要再把每个部类和次数转化为字典的键值对形式,再进行词云图的绘制。

二、代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 要先pip install wordcloud
from wordcloud import WordCloud
# 获得数据
data=pd.read_excel('C:\\Users\\02180085\\Desktop\\回店会员特征\\电商数据前期消费明细.xlsx',sheet_name='元数据')
# 求频次
data_gr=data.groupby(by='部类',as_index=False).agg({'卡号':len})
# print(data_gr)
# 转化为字典形式
dic=dict(zip(data_gr['部类'],data_gr['卡号']))
# print(dic)

#fit_word函数,接受字典类型,其他类型会报错
wordcloud = WordCloud(font_path='simhei.ttf',background_color="white",width =4000,height= 2000,margin= 10 ).fit_words(dic)
plt.imshow(wordcloud)
# 显示
plt.show()

二、结果

字体越大,出现的频率越高
在这里插入图片描述
关于词云图的参考,见以下链接,讲的很详细,特别是各个参数的设置:
https://blog.csdn.net/moshanghuali/article/details/84667136

发布了235 篇原创文章 · 获赞 24 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_44663675/article/details/105031117
今日推荐