加入收藏 | 设为首页 | 会员中心 | 我要投稿 宜春站长网 (https://www.0795zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

用Python分析了数千个微信昵称后,我们发现了这些规律...

发布时间:2018-08-29 11:19:50 所属栏目:教程 来源:XksA
导读:一、前言 这是一篇技术文,但又不是一篇技术文,今天分享的是,当笔者获取了微信小程序英文取名的3500多个微信用户昵称、年龄段后,分析得到下面结果。 二、Let's get it 1.基本信息获取 访问英文取名的用户基本信息接口,获取英文取名用户微信名(Nick nam

核心代码:

  1. # 清洗数据,生成词云图 
  2. def split_word(test_str): 
  3.     test_str = re.sub('[,,。. rn]', '', test_str) 
  4.     # jieba 词语 
  5.     segment = jieba.lcut(test_str) 
  6.     words_df = pd.DataFrame({'segment': segment}) 
  7.     # quoting=3 表示stopwords.txt里的内容全部不引用 
  8.     stopwords = pd.read_csv(r"H:PyCoding Analysis_wx_namestopwords.txt", index_col=False, quoting=3, sep="t", names=['stopword'], encoding='utf-8') 
  9.     words_df = words_df[~words_df.segment.isin(stopwords.stopword)] 
  10.     words_stat = words_df.groupby(by=['segment'])['segment'].agg({"计数": numpy.size}) 
  11.     words_stat = words_stat.reset_index().sort_values(by=["计数"], ascending=False) 
  12.     test = words_stat.head(200).values 
  13.     codes = [test[i][0] for i in range(0,len(test))] 
  14.     counts = [test[i][1] for i in range(0,len(test))] 
  15.     wordcloud = WordCloud(width=1300, height=620) 
  16.     wordcloud.add("微信昵称", codes, counts, word_size_range=[20, 100]) 
  17.     wordcloud.render('render_03.html') 

运行效果:

用Python分析了数千个微信昵称后,我们发现了这些规律...

pyecharts词云图

4. 使用Wordcloud+matplotlib,生成高级一点的词云图:

核心代码:

  1. # 下下期好好讲一下matplotlib绘图可视化,挺有意思的 
  2. # 调用get_name函数获取全部微信名 
  3. text = get_name() 
  4. # 调用jiebaclearText函数,清洗数据(该函数和上面切词思想一样) 
  5. text1=jiebaclearText(text) 
  6. #产生词云图 
  7. bg = plt.imread(r"G:small_pig.jpg") 
  8. #生成词云 
  9. wc=WordCloud( 
  10.     background_color="wathet", #设置背景为白色,默认为黑色 
  11.     mask=bg,      # 设置词云内容范围(除指定图片白色区域的其他区域都将覆盖词云内容) 
  12.     margin=10,               #设置图片的边缘 
  13.     max_font_size=70,   #显示的最大的字体大小 
  14.     random_state=20,    #为每个单词返回一个PIL颜色 
  15.     font_path='G:simkai.ttf'   #中文处理,用系统自带的字体 
  16.     # 可以在这里下载这个字体:http://www.font5.com.cn/font_download.php?id=534&part=1245067666 
  17.     ).generate(text1) 
  18. #为图片设置字体 
  19. my_font=fm.FontProperties(fname='G:simkai.ttf') 
  20. # 图片背景 
  21. bg_color = ImageColorGenerator(bg) 
  22. # 开始画图 
  23. plt.imshow(wc.recolor(color_func=bg_color)) 
  24. # 为云图去掉坐标轴 
  25. plt.axis("off") 
  26. # 保存云图 
  27. wc.to_file("render_04.png") 

5.词云轮廓原图:

用Python分析了数千个微信昵称后,我们发现了这些规律...

这是您的专属社会人

运行效果:

用Python分析了数千个微信昵称后,我们发现了这些规律...

wordcloud词云图

由于第二种方法无法解析表情图,所以没有表情出现,除此之外,这两种方法显示的词云图内容,几乎大同小异。

通过词云图,我们一眼看出,大家使用最多的,除开中文后,就是表情图了,你的微信朋友圈里,是否也有这样的大红嘴唇,我的好像有,哈哈哈~

(编辑:宜春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读